我正在开发一个类似于秒表的程序,它可以通知用户不同的事情。他们需要能够在等待通知的同时使用其他应用程序。通知将是文本到语音转换。如果UI屏幕是打开的,它需要查看还剩多少时间,并能够暂停计时器。
我正在考虑使用计时器和通知服务。该服务将通过intents和BroadcastReceiver更新UI。这意味着我将不得不每秒发送一次广播。
有没有更好的方法来做这件事?
发布于 2010-11-07 08:41:52
有没有更好的方法来做到这一点?
一秒就是一秒就是一秒。时间在应用程序的一个组件中并不比在另一个组件中流动得更快。因此,您不需要“每秒发送一次广播”。
此外,在内存中保留一个除了计算时间什么也不做的服务是对CPU和RAM的浪费,这类事情会导致用户在使用自己最喜欢的任务杀手时对Android开发人员说脏话。
当倒计时计划结束时,使用AlarmManager to send an ordered broadcast来处理您的Notification (也可以选择直接在您的活动中执行某些操作)。还可以将倒计时结束时间存储在持久存储中(数据库、平面文件等),活动可以在返回屏幕时使用它来获取倒计时。如果用户暂停倒计时,则取消未完成的告警。如果用户设置/重新启用倒计时,则设置警报。
https://stackoverflow.com/questions/4115727
复制相似问题