当屏幕关闭时,Android“变慢”

问题描述:

我正在制作一个每30秒发布到互联网上的应用程序。一切正常,直到屏幕熄灭。计时器似乎减慢了。需要5分钟才能发布。我试图获得唤醒锁和setforegroundactivity,但没有任何工作。这里的任何想法?当屏幕关闭时,Android“变慢”

其作为服务运行,我用这个唤醒锁:

PowerManager mgr = (PowerManager)this.getSystemService(Context.POWER_SERVICE); 
WakeLock wakeLock = mgr.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyWakeLock"); 
wakeLock.acquire(); 

而且这里的例子来设置前景色:http://developer.android.com/reference/android/app/Service.html

我也试着来检查它可以使用调试器,但当USB连接时一切正常。

更多细节: 检查与定期我用这个:

Private void startCheck() { 
mCheckHandler.sleep(30000); 
} 

    private CheckHandler mCheckHandler = new CheckHandler(); 
    private class CheckHandler extends Handler { 
      @Override 
      public void handleMessage(Message msg) { 
       Pservice.this.startCheck(); 
      } 

      public void sleep(long delayMillis) { 
       this.removeMessages(0); 
       sendMessageDelayed(obtainMessage(0), delayMillis); 
      } 
      }; 

我将它每次检查互联网时间获取唤醒锁。现在它工作正常:)感谢您的帮助:)

+1

手机没有心情让它的电池耗尽?/usefulcomment *(严重的是,这太模糊了,要更具体地说明你如何做事,用小代码示例说明 - 否则我们只能猜测)* – 2011-09-19 13:41:50

+0

链接和您提供的代码与您的问题无关。请提供更多细节。 – Ronnie

当屏幕熄灭时,设备将最终进入低功耗状态。这种低功耗状态基本上意味着你的代码不会被执行。这需要5分钟的原因是因为其他应用程序正在唤醒设备,然后您的应用程序有机会再次运行。

通过USB连接设备,可以防止发生低功耗状态。

这听起来像你的唤醒锁实际上并没有被收购或它太快被释放。

+0

我每次检查互联网时都会设置它以获取唤醒锁。现在它工作正常:)感谢您的帮助:) – user952725

你测试过任何其他设备,ROM,仿真器吗?有时候设备制造商的代码可能会导致类似问题的一个简单问题。

您使用的是什么设备和光盘?

我一个人积极降低我的android设备,当屏幕关闭。

另外,你提到:

我也试着检查什么可以使用调试器,但USB连接时,一切工作正常。

尝试使用ADB Wireless进行调试而不使用USB电源或只是使用日志记录来代替。