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