首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android:后台运行的耗电应用程序

Android:后台运行的耗电应用程序
EN

Stack Overflow用户
提问于 2012-01-05 15:41:59
回答 5查看 3.5K关注 0票数 1

我做了一个应用程序,每隔5-10分钟连接到我的服务器,并检查数据库是否有一些变化。

所以我使用Service,这样应用程序可以在后台运行,用户可以关闭应用程序并在状态栏中获得消息。在它里面,我使用Thread,这样应用程序就会休眠5-10分钟。当我锁定电话时,问题就开始了。然后应用程序就会停止(这是因为当你锁定手机进入“睡眠”状态时),所以我想我需要这个:

代码语言:javascript
复制
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, 'My Tag');      
wl.acquire();

这迫使手机除了屏幕外不能进入睡眠状态。但我还是坚持了下来。这工作得很好,但耗尽了大量电池。每小时10% :(我相信,应用程序必须让这些web服务请求所有的时间,而不是强制手机存活的功能,这是没有问题的。

所以,我的问题是,如果有任何其他的解决方案,我可以使用,因为我的手机上有一些应用程序运行在backgorund,但他们根本不会耗尽电池那么多(avast,果汁防御者等)。

任何想法都是非常有帮助的!

致以问候!

EN

回答 5

Stack Overflow用户

发布于 2012-01-05 15:47:28

如果使用推送机制,比如C2DM for Android,而不是一直轮询呢?

票数 1
EN

Stack Overflow用户

发布于 2012-01-05 15:58:37

谷歌I_O 2009 -寿命编码--电池续航时间

http://www.youtube.com/watch?v=OUemfrKe65c

这将回答您的问题。

票数 1
EN

Stack Overflow用户

发布于 2012-01-05 16:01:09

你必须尽快释放尾锁。不要使用它们。相反,尝试使用Broadcast receiver和AlarmManger来做你想做的事情。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8739143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档