[英]What is the best way to store and get images in Android, assets or drawable?
我必須列出一個帶有國家名稱的國家/地區列表,並且其標志會出現在每個項目中。
我有2種方法可以做到這一點:
1-將所有圖像存儲在“ drawable”文件夾中,並按名稱獲取圖像(而不是按ID獲取,因為它們是根據國家/地區代碼命名的),請參見此處: 如何獲取具有已知資源名稱的資源ID?
2-將它們存儲在“資產”文件夾中。
在性能方面,哪種方法更好?
並沒有太大的區別,但是,我認為使用drawable文件夾可以輕松獲取圖像(所有圖像都將在R文件中建立索引,這使得加載它們的速度更快(並且更容易!)。)從資產中使用它,那么您必須使用AssetManager
然后使用AssetFileDescriptor
您必須獲取那些圖像。
Assets
也可以組織成文件夾層次結構,資源不支持。 這是管理數據的另一種方式。 盡管資源涵蓋了大多數情況,但資產還是偶爾使用。
在res/drawable
目錄中,每個文件都有一個預編譯的ID,可以通過R.id. [res id]輕松訪問。 這對於快速輕松地訪問圖像,聲音,圖標很有用
如果將資產Uri
傳遞給ImageView
之類的框架,則該框架將使用BitmapFactory
從磁盤流式傳輸圖像的降采樣版本。 這是它在后台使用的技術。
由於性能原因, Drawable
不使用此技術。 通常不希望將大圖像存儲為Drawable
,並且在應用程序的生命周期中會多次加載Drawable
,因此它們是從磁盤整體流式傳輸並緩存在內存中的。
上面引用自:
1)關於這個問題
2)關於這個問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.