我的活动不遵循屏幕方向或在其他活动存活时被杀死

时间:2012-01-19 01:41:46

标签: android android-activity

我有一个由通知触发的活动(当用户点击时)。

1)当没有其他活动(来自我的应用)活着时,当方向改变时,活动不会旋转。 OnCreate()不会被调用

2)当另一个活动正在运行时(下面),那么当我旋转设备时,onCreate()会被调用一次,但活动会立即死亡。没有记录错误

我在活动中看不到任何特别的东西,但是它是由通知触发的,并且它有一个广播接收器(私人类)。

感谢您的想法

编辑:请丢弃这个问题。我在onStop()中有一个finish()。

1 个答案:

答案 0 :(得分:0)

在即将死亡的Activity.onCreate()方法中添加日志语句。更有可能的是,您的活动正在重建,而某些事情正在抛出异常。如果您在日志中看到onCreate()语句两次,那么您就知道可能会抛出异常。即使没有它,您也可以通过添加更多日志语句来追踪其死亡线。

在方向更改时,除非您在清单中修改了方向,否则您的活动将被拆除并重建。如果一个服务或广播接收器在它被拆除后有一个对它的引用,那么对它的任何调用都可能导致它在您看到时死亡。这就是Android的生命周期比它的价值更麻烦的地方,但事实就是如此。

很可能有些事情正在抛出异常并且您没有看到它或被其他人抛出而被掩盖。确保您没有按标记过滤logcat输出。