2013-07-03 46 views
0

我正在開發一個Android應用程序。我有一個自定義視圖,它是一個功能圓形進度條。它有12個圓圈均勻分佈在一個更大的圓上。在運行時旋轉位圖與旋轉位圖作爲磁盤資源

由於設計簡單和幾何我可以通過一個小圓圈並圍繞中心旋轉來達到預期的效果。這將花費我在磁盤上的一個文件,內存上的一個位圖 - 這很小,在內存上大約300kb - 以及旋轉和繪製位圖時的一些CPU功率。

我想到的另一個選擇是,我可以在磁盤上準備好所有12張圖像,將它們全部加載到內存中,並且每次都繪製合適的圖像。該選項沒有旋轉開銷。

現在我的問題是,哪一個更可行/可靠的一般,特別是android。你可以假設10fps是綽綽有餘。如果你認爲它不會產生明顯的差異,請讓我知道。

回答

0

一般來說。我更喜歡儘可能地減少我的資源。像這樣旋轉一個小的位圖不會耗費太多的電力,而那些包裝中的12個(12 * 300kb)是應用程序大小的顯着增加。但是,您必須考慮這與您的整體應用程序大小和要求有關。如果您需要最小化大小,請旋轉它,如果不是,請將它們全部加載到您的應用程序中。

+0

它們實際上每個都是20kb的png文件,它們在內存上的解碼大小爲300kb。所以應用程序大小不是問題。 – mehmetminanc

+0

然後我會建議將它們加載爲資產。沒有CPU/GPU操作,也不需要編寫所有旋轉/繪圖代碼。 –

1

我寧願有1個圖像,並在運行時旋轉它。這並不是太昂貴的操作,並且將N位圖加載到內存中會佔用一些內存,這些應用程序已經受到了傷害。