0
我有一個應用程序,我們希望用戶能夠使用手機上的相機運行它(並將相機字節送入我們的庫)或使用jpeg序列並饋送圖像反而。我們計劃發佈幾個不同的圖像序列,並將其打包到設備上的資產文件夾中。我們的API支持加載圖像作爲文件路徑,或者作爲圖像的實際字節。在Android中模擬使用JPEG的相機
什麼是最好的方式去餵食jpeg圖像?
在我看來,我有兩個選擇:
- 裝入JPEG的字節直接出了AssetManager,並將其傳遞給我的字節API。這意味着我會不斷拉取AssetManager每個文件的字節。 (我打算對做這件事的成本做一些分析,但也許有人已經知道成本太高。)
- 將所有圖像複製到緩存文件夾中,然後按文件名加載它們。在我看來,性能方面,這種方法更好,但它需要更多的開銷,並且顯然會佔用用戶設備上更多的空間。 (現在我們有限制,每個圖像序列將小於30秒,所以30fps * 30秒= 900圖像。)
感謝您的幫助。
我認爲明智的做法是提供每幅圖像KiB中JPEG圖像的大小以及您期望的總數。 – wojciii 2012-08-07 08:42:58
我現在在磁盤上的一個樣本,每個JPEG約爲40KB,雖然這個特定的序列只有160個圖像。最終的實際尺寸取決於我們可以支持的最高分辨率圖像,這將爲我們提供足夠的應用程序性能吞吐量。我們所做的是非常密集的CPU,圖像分辨率越高,CPU成本越高。我們現在可能最終會使用相當低分辨率的圖像(大約160x240),但我不想在這裏限制自己。限制必須是CPU而不是內存。 – Liron 2012-08-07 08:50:49