概括一下的说,在一个Activity类中定义了两个静态变量,一个是自定义的适配器adapter,一个是这个adapter要用到的
数据list,其中有一点是,在构造这个adapter的时候,把这个activity的引用传给了它,这样做的是为了避免旋屏时重新
去加载adapter需要的list(获取这个数据是一个耗时的操作,旋屏会重新调用activity的onCreate方法,使用静态就当是
一个存储数据的方法,避免旋屏之后要过了一段时间才能显示gridView的内容),但是使用这个方法出现了一个问题,就是
连续旋屏多次之后,程序会因为出现OOM而终止,报的错如下:10-12 20:02:23.464: ERROR/AndroidRuntime(3682): at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:349)找到在程序中报错的位置是:setContentView(R.layout.***);
通过MAT(内存分析工具)发现,每旋一次屏,这个静态的adapter的Ref. Objects的数量就会加1,
现在就是不知道到底是什么引起的这个OOM,代码中有去多次获取bitmap,但是报错的位置又没有指向
获取bitmap的位置,乱七八糟的讲了一堆,不知道各位看官是否晕了~
数据list,其中有一点是,在构造这个adapter的时候,把这个activity的引用传给了它,这样做的是为了避免旋屏时重新
去加载adapter需要的list(获取这个数据是一个耗时的操作,旋屏会重新调用activity的onCreate方法,使用静态就当是
一个存储数据的方法,避免旋屏之后要过了一段时间才能显示gridView的内容),但是使用这个方法出现了一个问题,就是
连续旋屏多次之后,程序会因为出现OOM而终止,报的错如下:10-12 20:02:23.464: ERROR/AndroidRuntime(3682): at android.graphics.BitmapFactory.decodeResource(BitmapFactory.java:349)找到在程序中报错的位置是:setContentView(R.layout.***);
通过MAT(内存分析工具)发现,每旋一次屏,这个静态的adapter的Ref. Objects的数量就会加1,
现在就是不知道到底是什么引起的这个OOM,代码中有去多次获取bitmap,但是报错的位置又没有指向
获取bitmap的位置,乱七八糟的讲了一堆,不知道各位看官是否晕了~
解决方案 »
- 关于服务端与客户端之间的数据传递问题,加上eclipse如何同时debug服务端与客户端?
- 简单屏幕对应问题
- WebView中如何返回一个超链接的值?
- 调用C++ so的问题
- 求大神指点,本人想从java转Android
- Android中如何不使用自带的Apache的包?
- 求高手现身,AsyncQueryHandler 4.0版 以上无法 分组 group by
- android studio 在生成APK 的时候点击Generate Signed APK 没有任何反应
- APP A会启动B,我想监听后把B换成C去启动,求思路
- 实现音乐播放器listview点击跳转播放,请大神指教
- socket 问题,怎样能够接收数据,并且在没有数据时不阻塞线程?
- 如何向android手机推送消息
如果UI不需要变化就不用一直调用onCreate方法呀。在manifest中对应activity加入android:configChanges="keyboardHidden|orientation"
编程的应该都不陌生,所以
@Override
public Object onRetainNonConfigurationInstance() {
final MyDataObject data = collectMyLoadedData();
return data;
}@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main); final MyDataObject data = (MyDataObject) getLastNonConfigurationInstance();
if (data == null) {
data = loadMyData();
}
...
}
对的,之前我也遇到过类似的问题,activity在不停的被restart,参考
http://blog.csdn.net/flyinwoods/article/details/6868843