我是Android新手,这是我的第一个应用。
我有一个应用程序接收格式化的短信,我正在使用BroadcastReceiver来监听传入的消息。
在onReceive中我有一个进程,它将检查数据库中的重复记录。 (数据库有500K +行)并保存,如果没有重复。
是正确的还是我必须使用一些处理程序来处理这个过程?因为如果有传入消息,应用程序会有延迟响应。
提前致谢。
答案 0 :(得分:1)
使用ExecutorService
获取线程执行程序服务,并向其提交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
}
});
}