Last active
November 7, 2019 05:33
-
-
Save Hasiy/3ffa464d1f1c6792fabff806d2178952 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Android 8.0 的Bitmap: | |
创建native层Bitmap,在native堆申请内存。 | |
通过JNI创建java层Bitmap对象,这个对象在java堆中分配内存。 | |
Android 7.0 的Bitmap: | |
通过JNI调用java层创建一个数组 | |
然后创建native层Bitmap,把数组的地址传进去。 | |
Android 3.0 以下Bitmap像素内存据说也是放在native堆的, | |
但是需要手动释放native层的Bitmap, | |
也就是需要手动调用recycle方法,native层内存才会被回收。 | |
当内存不足的时候,Activity、Fragment会调用onLowMemory方法,可以在这个方法里去清除缓存,Glide使用的就是这一种方式来防止OOM。 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment