1

この方法を使用して繰り返しアラームを設定しましたAlarmManager

    AlarmManager alarmMgr = (AlarmManager)getSystemService(Context.ALARM_SERVICE);
    alarmMgr.setRepeating (AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + 100, 10000, mPendingIntent);

    registerReceiver(new BroadcastReceiver()
    {
        @Override
        public void onReceive(Context context, Intent intent) 
        {
            sharedPrefsEditor.putString(TIMER_LOG_KEY, sharedPrefs.getString(TIMER_LOG_KEY, "") + Calendar.getInstance().getTimeInMillis() + "|");
            sharedPrefsEditor.commit();
        }
    }, 
    new IntentFilter(ALARM_TEST_TIMER_ACTION)); 

mPendingIntentブロードキャストを送信します。

アラームは 10 秒 (= 10,000 ms) ごとに実行されることになっています。

実行時間を記録したところ、23 秒と 143 秒という 2 つの例外的な間隔が見つかりました。

他のすべての間隔は良好であったことに言及する必要があります (最大 11.1 秒)。

なぜこれが起こるのですか?これらの例外を回避するにはどうすればよいですか?

4

0 に答える 0