我有一个应用程序存储,一些用户表示该应用程序使用太多电池,或者他的资源(10或20mb +)。在我的设备中它很好,并在一些设备,如果看到它很好。
我使用sms广播接收器来读取所有进入的短信,如果我看到任何消息我想要处理我读它等等所以基本上服务需要一直运行所以我不会丢失任何可能来的消息。
有没有办法优化这个或使代码更轻,如果它可能,以便所有用户都可以这样做?我知道它可能因设备而异,从Android版本到版本不同但给它一个镜头会很好。
我还没有尝试任何东西,因为我不知道可能是什么问题,或者是否有一个问题。我搜索了一下,人们说该服务不应该一直运行,应该重启几次或在不需要时关闭它。但我的短信接收器需要一直运行。
我应该检查的任何想法或任何事情?
顺便说一下,我的服务是startForeground,因此它不会从android中关闭。
感谢您的时间
答案 0 :(得分:1)
您不需要经常运行的服务来接收传入的短信。只需在清单中注册您的BroadcastReceiver类,然后在onReceive()
中启动IntentService即可处理您需要执行的任何处理。完成后,IntentService将自行停止。您的应用程序不需要为静态注册的Receiver提供活动组件即可传送SMS_RECEIVED
广播。在交付意图时,系统将启动Receiver。