1

私は、AlarmManager と、それが実際にどのように低レベルで機能するかについて深く掘り下げる時間がありませんでした。効率性、費用、およびこの API の代替手段について懸念しています。誰でもこの問題に光を当てることができますか?具体的には、数秒ごと (少なくとも 2 ~ 3 秒) に IntentService を実行するように AlarmManager を設定すると効率的ですか? または、サービスを使用して、ループがあり、数秒ごとに一時停止する別のスレッドを作成する方がよいでしょうか? または、これに代わる他の方法はありますか?

また、AlarmManager や Service、またはその他の方法を使用した場合の電力、メモリ消費量の比較について、誰かが洞察を共有できれば幸いです。

AlarmManager を使用して数秒ごとに IntentService を呼び出し、ターゲット フォルダーに新しいファイルがあるかどうかを確認するコードを実行しています。

4

1 に答える 1

1

ターゲット フォルダに新しいファイルがあるかどうかを確認するために、AlarmManager や IntentService を使用しないでください。Android には、ビジー ループなしでこれをチェックするためのFileObserverクラスがあります。

FileObserver observer = new FileObserver("path/to/target", FileObserver.CREATE) {
    @Override
    public void onEvent(int event, String filename) {
        if (event == CREATE) {
            Log.i("Info", filename + " has been added to folder");
        }
    }
};
observer.startWatching();
于 2013-01-20T10:35:26.177 に答える