2013-07-23 39 views
0

我一直在尋找一段時間,但一直未能找到答案。我在我的APK中有一個文本視圖,需要處理大量的文本,這些文本一次只能附加到它上面。所以隨着東西流向它,它會隨着時間的推移而增長。到目前爲止,我還沒有看到任何問題,我已經讓底層的Android實現來處理數據。有誰知道Android是否將這些全部緩存在內存中,或者如果它傳遞了水印級別,那麼它可以爲TextView寫入文件?如果它變得太大,APK會不會記憶並被Dalvik殺死?如果是這種情況,我願意接受任何建議,以減輕這種可能性。我腦海中的一個解決方案是有一個自定義的textview,它完全符合我所解釋的內容,並在數據通過水印時緩存數據。然而,我不確定在用戶在TextView中瀏覽的位置來自底層數據文件來回拉取數據並填充實際的TextView對象時會有多棘手。可能的TextView實現處理非常大的數據

感謝

+0

如果你有一個ListView和幾個TextView,那麼怎麼辦?每個TextView都會有一個限制,比如1000個字符。 – Axxiss

+0

我還沒有看到任何這樣的限制,我更關心底層的實現,因爲我認爲如果沒有緩存到閃存,它最終會達到內存限制。 – user2608129

回答

0

雖然我無法找到實際的門檻,它一直是discussed and suggested極長的文本顯示在更小的塊。您也可以write to a file,然後按照需要爲您的項目read back in

編輯:關於TextView的書籤(因爲缺乏一個更好的詞),你總是可以以編程方式檢查,看看那裏的用戶在TextView的(檢查在TextView的結束某個字符或字符串)並將下幾行文本讀入TextView。您必須將TextView的getText().toString()值與文件中的可讀文本進行匹配。

我現在也想知道如果你能在任一方向做到這一點。爲了節省空間,您可以根據用戶需要將文本寫入文件,並將TextView更新爲僅顯示5或6行(任意數字)。您可以在任一方向修剪TextView以節省內存。你可以ellipsize both sides of your text,滾動啓用它,並根據需要修剪/讀取這些點。

+0

感謝您的建議。比較textview內容和文件內容不會是一種選擇,因爲我的數據可能非常重複,並且會有很多可能的匹配,可能表示文件中的當前位置不正確。需要另外一種方法將文件同步到textview。 – user2608129

相關問題