我有一个使用MediaPlayer播放音乐的应用程序。当我播放音乐并锁定我的设备时,它开始在不同的时间段调用onPause和onResume,(它不是一个轨道的时间)
我的日志是这样的:
07-11 10:08:50.933: INFO/Activity(9956): resume PlayerActivity
07-11 10:08:50.948: INFO/Activity(9956): pause PlayerActivity
07-11 10:08:56.300: INFO/Activity(9956): resume PlayerActivity
07-11 10:08:56.316: INFO/Activity(9956): pause PlayerActivity
07-11 10:09:21.839: INFO/Activity(9956): resume PlayerActivity
07-11 10:09:21.886: INFO/Activity(9956): pause PlayerActivity
07-11 10:09:27.003: INFO/Activity(9956): resume PlayerActivity
07-11 10:09:27.019: INFO/Activity(9956): pause PlayerActivity
07-11 10:18:49.738: INFO/Activity(9956): resume PlayerActivity
07-11 10:18:49.745: INFO/Activity(9956): pause PlayerActivity
这是android Activity的正常行为吗?没有按键,也没有其他操作。
有一种方法可以避免它。我认为这是由于锁定屏幕时配置发生了变化。如果你的应用是横向的而你的锁屏是纵向的,这是一个配置改变。如果你有屏幕上的导航按钮,情况也是如此,而锁屏按钮会导致屏幕大小发生变化。在manifest文件中,您可以更改活动的配置更改,并指定一大堆更改。这将阻止Android在你每次锁定屏幕时重建你的活动,并将停止许多onPause - onResume回调。
是的,这是Android的正常行为。根据正在执行的操作,将调用与生命周期相对应的方法。在每种情况下,您都可能需要重写适当的方法来获得所需的结果。