我还没有时间深入挖掘AlarmManager,以及它是如何在低级上真正工作的。我关心的是这个API的效率、费用和任何替代方案。有人能说明一下这件事吗。具体地说,将AlarmManager设置为每隔几秒钟(至少2-3秒)运行一次IntentService是否有效?或者更好的做法是使用服务,并创建一个具有循环并每隔几秒钟暂停的不同线程?或者有没有其他的替代方案?
如果任何人能分享一些关于电源的见解,以及使用AlarmManager或服务或任何其他方法的内存消耗比较,那也是很棒的。
我使用AlarmManager每隔几秒钟调用我的IntentService来运行一段代码,检查目标文件夹中是否有新文件。
发布于 2013-01-20 18:35:26
您不应该使用AlarmManager或甚至IntentService来检查目标文件夹中是否有新文件。安卓有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();https://stackoverflow.com/questions/14423573
复制相似问题