我是 Android 新手,这是我的第一个应用程序。
我有一个接收格式化短信的应用程序,我正在使用 BroadcastReceiver 来监听传入的消息。
在 onReceive 里面我有一个过程,它将检查数据库中的重复记录。(数据库有 500K+ 行)并保存它,如果没有重复。
是正确的还是我必须使用一些处理程序来处理这个过程?因为如果有传入消息,则应用程序会延迟响应。
提前致谢。
我是 Android 新手,这是我的第一个应用程序。
我有一个接收格式化短信的应用程序,我正在使用 BroadcastReceiver 来监听传入的消息。
在 onReceive 里面我有一个过程,它将检查数据库中的重复记录。(数据库有 500K+ 行)并保存它,如果没有重复。
是正确的还是我必须使用一些处理程序来处理这个过程?因为如果有传入消息,则应用程序会延迟响应。
提前致谢。
使用 aExecutorService
获取线程执行器服务,并向Runnable
其提交任务。
//--dedicated thread to run tasks one after another--
private final ExecutorService s = Executors.newSingleThreadExecutor();
//--handle incoming sms--
public void handleSms(final String input, final SQLiteDatabase db){
s.submit(new Runnable() {
@Override
public void run() {
//--do stuff with input and db
}
});
}