【发布时间】:2013-09-29 02:10:44
【问题描述】:
有人知道按电源键和home键的区别吗? 在我的应用程序中,我尝试在活动的每个生命周期中放置一个调试语句,结果都相同,也就是说,活动将是 onPause 并且在活动重新打开时将是 onRestart 然后是 onResume(如果我们按 home按钮)或当我们通过按电源按钮再次打开设备时(如果我们之前按电源按钮)。
具有相同的行为/序列,我希望我的相机应用程序在两种情况下运行相同。但事实并非如此。我使用surfaceview预览到相机。如果按home键再重新打开app,就可以正常运行了。
但是,如果我按下电源按钮,然后再次按下它以再次打开它,surfaceView 会冻结,因此预览也会冻结。但相机实际上仍在工作(如果我按下相机按钮,它仍然会拍照)。
所以我真的很困惑这两者之间有什么区别......
编辑:
经过测试和测试,我发现不同的是,当我按下home键时,应用程序会onPause(),然后surfaceView会被销毁。另一方面,如果我按下电源按钮,surfaceView 不会被破坏。
仍然对导致这两种不同行为的原因感到困惑......
【问题讨论】:
-
你在
onPause()释放相机 -
当表面视图冻结时,logcat 中是否有任何内容?
-
@FoamyGuy 不。没有警告,没有错误..只有我的调试行。
-
如果您正在使用硬件加速,请尝试将其关闭,如果没有,请尝试将其打开。如果可以的话,还可以测试一些不同的设备。这种行为可能不是每台设备都存在的问题。
-
@FoamyGuy 你说的硬件加速是什么意思?我可以知道如何打开/关闭它吗?我在另一台设备上尝试过,同样的问题发生了。
标签: android surfaceview home-button