Android之一个很奇怪的生命周期bug

本文主要记录一个很奇怪的bug, 顺便重新认识了一下activity的生命周期

  • [问题前提]:手机摄像头处理,onResume里打开摄像头, onPause里关闭摄像头
  • [问题出现]:运行一段时间,会莫名其妙的自动 onPause->onResume。系统自动调用onPause,然后调用onResume, 这个本来看不出来,但是开摄像头时给了一个动画,每次打开都会调用这个动画,所以问题特别明显,打个Log发现确实是这样的问题,而且目前测试来看,几乎所有的国产手机都有这个问题,[目前的解决只是规避这个问题,还没有找到彻底的解决方案]
  • [问题分析]:先不管什么权限呀这些,怀疑是之前的理解有偏差,特意看了一下google的API 查看了比较经典的Activity生命周期
    —— onResume() 在 Activity 即将开始与用户进行交互之前调用。 此时,Activity 处于 Activity 堆栈的顶层,并具有用户输入焦点。始终后接 onPause()。
    —— onPause() 当系统即将开始继续另一个 Activity 时调用。 此方法通常用于确认对持久性数据的未保存更改、停止动画以及其他可能消耗 CPU 的内容,诸如此类。 它应该非常迅速地执行所需操作,因为它返回后,下一个 Activity 才能继续执行。如果 Activity 返回前台,则后接 onResume(),如果 Activity 转入对用户不可见状态,则后接 onStop()。
  • [问题原因猜测]&#

你可能感兴趣的:(Android,Error)