2
在我的测试设备之一,我在logcat中接收到这个可怕的警告:侦听器或通知“启动超时已过期,放弃唤醒锁”
07-20 09:57:02.093: W/ActivityManager(1159): Launch timeout has expired, giving up wake lock!
07-20 09:57:02.218: W/ActivityManager(1159): Activity idle timeout for HistoryRecord{4072b5e8 com.rero.myapp/.MyActivity}
我最初的研究表明,这是一种常见眉毛提升:
- “该应用程序可能有exceeded the VM budget并且内存不足。”
- “This can be ignored。”
- Network problem?
- 活动是taking to long to start(在UI线程上处理过多)
- 服务&广播涉及HTTP。
- 和和...
我的问题是:
- 有什么的影响 “启动超时已过期”?系统做什么? (例如,一个消息来源声称它会杀死我的应用程序,但实际上我看到我的应用程序在1-2分钟的冷冻后正常进行)
- 是否有这种警告的方式在我的应用程序中得到通知?
我有这种情况发生时,我创建了一个无意的无限布局传递循环。您正在导航的“活动”中是否有任何布局或绘制(OnGlobalLayout,OnPreDraw等)侦听器? – kcoppock 2012-07-20 14:47:00
@ kcoppock其实我没有任何你提到过的,但是我确实尝试为http://www.google.com提供'HttpURLConnection.getResponseCode()',并且它在** 6分钟后超时36秒!**启动超时发生得更早,所以我希望能够用它来帮助处理这种不寻常的情况。 – 2012-07-20 15:07:08
你可以发布你如何尝试连接?我肯定会确保它在一个单独的线程上(使用AsyncTask)。 – kcoppock 2012-07-20 15:10:54