2012-09-30 119 views
0

我很難找到這個更新的答案。Android應用程序的最大尺寸?

到目前爲止,我一直在瞄準我的資源< 16mb。但是,我越來越難,越來越難,我的意思是,一個1000x1000.Png文件使用大約1mb。

很明顯,我打算儘可能小,但是我應該開始擔心什麼尺寸?計劃在Android上發佈> 2.1

回答

0

你可以得到最大healp大小:

Log.d(TAG,"Memory Class: " + ((ActivityManager) getSystemService(ACTIVITY_SERVICE)).getMemoryClass()); 
    Log.d(TAG,"Heap size: " + Runtime.getRuntime().maxMemory()); 

如果要裝載大PNG文件,你應該看看,瞭解如何在Android上處理大圖像的最佳做法,但必須記住,一些你的選擇爲BitmapFactory對如何加載圖像巨大的影響:

-inScaled集時可以通過因子2或與高密度的屏幕新設備增加3位圖的內存大小,

-ARGB類型可能從每個像素2個字節RGB_565和ARGB_4444)改爲4個字節(ARGB_8888),因此再次爲2。

祝你好運。

1

您將獲得的最小堆空間爲16 MB,IIRC。您可能會得到64 MB甚至更​​多,但您應該始終嘗試並在16 MB以下運行。請記住,如果您可能獲得更多堆空間,並且嘗試使用它,則最終可能會從內存中取代其他應用程序,並導致一些次要的或者在某些情況下給用戶造成重大問題。

這並不是說你無法獲得更多的空間。事實是,您應該儘可能地讓您的應用成爲Android公民,並儘可能地對設備友好。

+0

okey,謝謝!我只能保守,然後^^。感謝上帝,它減小了我的照片,如果我必須有4個版本的每張照片我註定 –

+1

@Max:堆大小與應用程序的資源,如資產(即res/drawables)沒有任何關係。 –

+0

嗯,堆大小是對象使用的內存量正確嗎?我如何檢查堆大小?這對我來說是新的。 –