簡體   English   中英

位圖和Android堆

[英]Bitmaps and Android Heap

我的應用程序在SurfaceView中使用了一些位圖。 對於經常被召回的位圖,我將它們存儲為類字段,即創建SurfaceView實例的擴展名時,

bitmap_puppyicon = BitmapFactory.decodeResource(getResources(),R.drawable.puppy);

其中,bitmap_puppyicon是擴展的SurfaceView的類變量。 我認為這意味着它正在堆積。

對於一次或兩次左右使用的位圖,我在onDraw()方法中即時創建了它們。

我在DDMS中檢出堆,並覺得我有能力將更多的位圖存儲為類變量,而不是在onDraw()中創建它們。

令我驚訝的是,這樣做之后,堆大小下降了幾個百分點。 我誤會了嗎? 為什么在存儲更多位圖的情況下堆會變得更小?

它在后台使用skia,並且堆不是位圖所在的地方,在堆中,您僅具有指向位圖的鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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