2

我很难理解 android 设备的电源管理最佳实践和睡眠模式状态。

  1. 睡眠模式。

    1.1)什么时候会发生?

    1.2) CPU 将要休眠并且我的线程处于挂起状态?这什么时候会发生?

    1.3) 为了防止 CPU 休眠,我可以使用 PARTIAL_WAKE 唤醒锁或警报管理器吗?什么电池最适合?

    1.4) 如何通过我的应用程序以编程方式防止 WiFi 和 3G 连接在睡眠模式下关闭?

PS 是的,我知道这对电池寿命不利!我试图找到最好的妥协...

  1. 我写我的即时通讯应用程序。我需要与服务器建立持久连接。如何实现这一目标的最佳方式?关闭屏幕约 20-30 分钟后,我失去了互联网连接,但 Skype 保持在线。他们是怎么做到的?

  2. 我知道 C2DM 框架。但是从服务器到应用程序是单向的。如何最好地为我使用它?服务器必须知道客户端真正连接!

4

1 回答 1

5

这什么时候会发生?

屏幕关闭后的某个时间,根据用户对不活动的设置。

CPU 将要休眠并且我的线程处于挂起状态?

是的。

这什么时候会发生?

你已经问过了。

为了防止 CPU 休眠,我可以使用 PARTIAL_WAKE 唤醒锁或警报管理器吗?

AlarmManager可能会导致手机从睡眠模式中唤醒,但只是非常短暂。A 首先WakeLock防止设备进入睡眠模式。

如何从我的应用程序以编程方式防止在睡眠模式下关闭 WiFi 和 3G 连接?

使用 aWifiLock防止 WiFi 无线电关闭。电话收音机不受睡眠模式的影响。

如何实现这一目标的最佳方式?

如果用户没有主动使用设备,则允许终止连接。根据定义,如果他们的设备睡着了,他们就不会参与 IM 会话。

我知道 C2DM 框架

这已被具有相同基本特征的 GCM 取代。

于 2013-02-19T13:09:23.840 回答