Pet*_*ter 0 events android memory-management orientation
为了保护资源并防止内存泄漏,每当应用程序从一个活动转到另一个活动时,我在onPause事件中调用finish().我认为它工作正常,但当我尝试旋转屏幕时,应用程序崩溃 - 错误是"重复完成请求"我如何防止这种情况,是否有办法在onPause事件中检测应用程序是进入下一个活动还是只是更改取向?是否有更好的方法来保存内存然后使用完成?
感谢帮助!
Mat*_*lis 13
您可以尝试Intent.FLAG_ACTIVITY_NO_HISTORY标志.一旦新活动出现在他们面前,这将完成您的活动.
您可以在开始活动时将其置于意图中:
intent.setFlags(Intent.FLAG_ACTIVITY_NO_HISTORY);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
或者您可以在清单中设置它,以便您的活动始终带有此标志:
android:noHistory="true"
Run Code Online (Sandbox Code Playgroud)
作为该活动<activity ... />标签中的属性.
这样,就可以避免试图调用finish在onPause.我认为这比试图弄清楚框架何时会调用finish自己更好.
| 归档时间: |
|
| 查看次数: |
5904 次 |
| 最近记录: |