我有一個約88,000姓氏的名單, 我需要每隔幾分鐘閱讀一次,所以我只讀了一次並將它存儲在一個列表中。 這更好或我應該每次閱讀。 內存VS運行時多次讀取文件或將其保存在靜態文件夾中會更好嗎?
回答
它更好,或者我應該每次讀取
都不是,恕我直言。使用更智能的緩存。
對此數據有一個靜態線程安全緩存。
圍繞該緩存設計API,以便緩存可以延遲加載。無論誰試圖檢查緩存,都應該異步獲取結果,因此如果緩存爲空,則可以在後臺線程上加載緩存內容。這可以通過使用監聽器/回調格局,RxJava/RxAndroid,
LiveData
等來完成有
Application
自定義子類,並在那裏,overrideonTrimMemory()
。如果onTrimMemory()
與a value ofTRIM_MEMORY_BACKGROUND
或更高版本一起調用,請清空緩存,以便在用戶未主動使用您的應用時,您的內存使用率較低。
這樣,使用緩存的代碼並不關心是否需要將數據加載與否,而當它是不可能的緩存需要使用可以最大限度地減少內存消耗。或者,如果你一次不需要所有88,000姓氏的姓氏,將它們存儲在SQLite數據庫中,並根據需要查詢該數據庫。
通常運行時使用內存,所以你應該是相同的。不同之處在於,您可以將其作爲對象存儲在內存中,並根據需要將其從內存中移除,以便存在一些內存選擇而不是一致的內存負載。
你有沒有考慮使用API或JavaScript的邏輯和加載JSON呢?使用API或JavaScript作爲業務邏輯加載JSON的不同體系結構的方法可能有助於加載和卸載包含數據的對象。 JSON可以靜態存儲在本地或甚至是動態的(存儲在遠程服務器中),這可以幫助輕鬆更新姓氏。此外,這種方法可以根據傳遞的參數查詢數據,因此您可能不需要一次加載所有80.0000個姓氏。我看到這個問題是關於Android的,但是對於任何設備來說,架構方法都是一樣的。
我希望這可能會幫助您或其他人根據體系結構和移動平臺來確定方法(如果使用的話,沒有真正定義的問題)。
乾杯!
- 1. 寫入小文件或一次寫入文件會更好嗎?
- 2. mod_pagespeed不會將靜態文件加載到緩存文件夾
- 3. 只讀一次xml文件並傳遞值,或者在需要的地方多次讀取xml會更好嗎?
- 4. 上傳多個文件並將其保存到文件夾中
- 5. FS從文件或靜態文件中讀取文件ENOENT
- 6. 讀取文本文件並將其保存在HashMap中
- 7. 將上傳文件保存到SQL Server會更好嗎?
- 8. 讀取文件並將其保存在內存中
- 9. 靜態文件應該保存多久?
- 10. 每20秒保存一次字符串;將它保存到數據庫或文本文件中會更快嗎?
- 11. 更好嗎? $(文件)或$('文件')
- 12. 將靜態文件夾中的筆記本.txt或.json生成的文件保存在bluemix中
- 13. 上傳文件並將其保存在臨時文件夾
- 14. 讀取JSON文件並將其保存在SAS數據集中
- 15. 將靜態瀏覽器圖像保存到本地文件夾
- 16. xmlTextWriter不會將XML文件保存到bin文件夾中
- 17. PHPExcel將文件保存到文件夾中或打開excel
- 18. 瓶在靜態文件夾
- 19. 應該將靜態文本存儲在.properties文件中嗎?
- 20. 將HTML緩存在數據庫或文件系統中會更好嗎?
- 21. NGINX從Ruby文件夾中的子文件夾中提取靜態文件
- 22. 應該將文件夾保存在文件夾中或使用gac註冊
- 23. 將文件保存到文件夾
- 24. 將文件保存到文件夾
- 25. 將文件保存到文件夾
- 26. 從文件中讀取對象並將其保存到ArrayList中
- 27. 將數據保存在XML或數據庫中會更好嗎?
- 28. 讀取文件多次
- 29. 有多個S3桶或一個帶有子文件夾的桶會更好嗎?
- 30. .Net core在靜態文件夾(www)中添加文件夾並保存圖像文件