如何从error中恢复

Jobernowl 2013-04-17 02:59:23

try {

} catch(OutOfMemoryError err){

} finally{

}


请问如果我用着个try catch块捕获到OutOfMemoryError的error之后该如何从这个error中恢复
...全文
126 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
Jobernowl 2013-04-18
  • 打赏
  • 举报
回复
引用 6 楼 q3p9k7 的回复:
还是找到OutOfMemoryError的原因,解决掉这个问题比较好吧
解决掉的办法就是我每次解码一张图片的时候判断即将解码出来的图片会占用多少内存和当前可用内存做比较 并且优化一下代码避免重复解码图片或者及时释放图片什么的 做了这些之后请问我该如何从error中恢复 看来只能重启程序了是不是
一刀 2013-04-18
  • 打赏
  • 举报
回复
还是找到OutOfMemoryError的原因,解决掉这个问题比较好吧
wlcw16 2013-04-18
  • 打赏
  • 举报
回复
引用 4 楼 sasuke38 的回复:
引用 3 楼 wlcw16 的回复:引用 2 楼 sasuke38 的回复:引用 1 楼 wlcw16 的回复:OutOfMemoryError.... 你的内存泄露了吧。 试试能不能重启吧。 不知道内存溢出了还能不能执行。。 Java code?1234567891011121314151617 PendingIntent restartIntent; ……
哈哈,遇到一样的问题了。我们项目最近也在做图片类的应用 基本上遇到这种图片类的问题,bitmap说不好就在哪里泄露了。慢慢优化吧。 项目上线肯定是对内存泄露零容忍的。
Jobernowl 2013-04-18
  • 打赏
  • 举报
回复
引用 3 楼 wlcw16 的回复:
引用 2 楼 sasuke38 的回复:引用 1 楼 wlcw16 的回复:OutOfMemoryError.... 你的内存泄露了吧。 试试能不能重启吧。 不知道内存溢出了还能不能执行。。 Java code?1234567891011121314151617 PendingIntent restartIntent; Intent intent = ……
OutOfMemoryError是内存泄露么 我是在解码很多图片的时候造成的 至于在哪里 不是在catch那里么 还能打印出error的信息呢 如果知道了哪一行带么发生error 如果是我的程序继续运行
snice 2013-04-18
  • 打赏
  • 举报
回复
APP 内存泄漏了,恢复并不最好的办法.首先应该是解决Memory Out的Root casue.而不是去规避这个问题. 另外: Android APP在处理图片时,最终都会以bitmap实现,也就是展成最终的PIX(W*H*32)来计算内存,所以常会出现内存泄漏.就我所知,有两种解决方案: A. 在加载图片资源,并进处理时,及时释放临时图片数据变量.一但不使用此变量,最好尽早释放.释放方式为赋值为NULL; B. 启动一个APP来实现对图片资源的管理与处理.这样就能增加内存的使用,但是根本的,还是要处理好内存的管理.
wlcw16 2013-04-17
  • 打赏
  • 举报
回复
引用 2 楼 sasuke38 的回复:
引用 1 楼 wlcw16 的回复:OutOfMemoryError.... 你的内存泄露了吧。 试试能不能重启吧。 不知道内存溢出了还能不能执行。。 Java code?1234567891011121314151617 PendingIntent restartIntent; Intent intent = new Intent(); int……
安个MAT插件,看看哪里内存泄露了。
Jobernowl 2013-04-17
  • 打赏
  • 举报
回复
引用 1 楼 wlcw16 的回复:
OutOfMemoryError.... 你的内存泄露了吧。 试试能不能重启吧。 不知道内存溢出了还能不能执行。。 Java code?1234567891011121314151617 PendingIntent restartIntent; Intent intent = new Intent(); intent.setClassName( ……
只能重启了么 能不能停留在当前界面恢复正常
wlcw16 2013-04-17
  • 打赏
  • 举报
回复
OutOfMemoryError.... 你的内存泄露了吧。 试试能不能重启吧。 不知道内存溢出了还能不能执行。。

    PendingIntent restartIntent;
    Intent intent = new Intent();
    intent.setClassName(
            mContext.getPackageName(),
            "com.toshiba.cpad.tosnote.activity.MainActivity");
    restartIntent = PendingIntent.getActivity(
            mContext.getApplicationContext(),
            0, intent,
            Intent.FLAG_ACTIVITY_NEW_TASK);
    AlarmManager mgr = (AlarmManager) mContext
            .getSystemService(Context.ALARM_SERVICE);
    mgr.set(AlarmManager.RTC,
            System.currentTimeMillis() + 1000,
            restartIntent);
    android.os.Process
            .killProcess(android.os.Process
                    .myPid());

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧