簡體   English   中英

在Android,資產或可繪制圖像中存儲和獲取圖像的最佳方法是什么?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM