有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java/Android AlarmManager电池消费者?

在我们的firebase安全应用程序中,我们使用Android AlarmManger保持firebase侦听器的活动状态

AlarmManager在设备启动时通过BroadcastReceiver调度 警报每5秒唤醒一次CPU,并检查firebase侦听器是否准备就绪,否则启动它

使用该模式,我们注意到对电池寿命的影响 你能告诉我最好的款式吗

public class Alarm extends BroadcastReceiver
{
    @Override
    public void onReceive(Context context, Intent intent)
    {
        PowerManager pm = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
        PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "");
        wl.acquire();
        Firebase.setAndroidContext(context);
        FirebaseUtils.startListeners(context);

        wl.release();
    }

    public void SetAlarm(Context context)
    {
        AlarmManager am =( AlarmManager)context.getSystemService(Context.ALARM_SERVICE);
        Intent i = new Intent(context, Alarm.class);
        PendingIntent pi = PendingIntent.getBroadcast(context, 0, i, 0);
       am.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis(), 5000, pi); // Millisec * Second * Minute
    }
}

共 (1) 个答案

  1. # 1 楼答案

    如果你真的不需要每5秒重复一次,你可以尝试增加你的重复间隔。每5秒播放一次应用程序,就像不断玩应用程序一样。试着让它保持30或50秒