在android中,经常会出现OOM(OutOfMemoryError), 原因有很多,其中,也可能由于图像处理不当而引起的的,本篇将从这个方面介绍几种常见的场景。
重要:而通常情景是,这个OOM不是必现的,有时运行过程中会发生,有时,同样的代码,有的手机上不出现;有的手机上会偶现。
重要:而通常情景是,这个OOM不是必现的,有时运行过程中会发生,有时,同样的代码,有的手机上不出现;有的手机上会偶现。
这就加大了解决问题的难度。不过,只要遵循一定的良好的编程方式,还是有办法避免的。
1. 图片太大。
android中,系统给每个应用分配的内存是有限的,如果一个资源图片太大,加载到内存中后,占用的内存空间也会很大,(尤其是这种图片比样多的话),这样,随着程序的运行,内存不堪重负,就有可能引起OOM。
即使将background改为src,也无济于事。
例如:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"