0

我是 Android 新手,这是我的第一个应用程序。

我有一个接收格式化短信的应用程序,我正在使用 BroadcastReceiver 来监听传入的消息。

在 onReceive 里面我有一个过程,它将检查数据库中的重复记录。(数据库有 500K+ 行)并保存它,如果没有重复。

是正确的还是我必须使用一些处理程序来处理这个过程?因为如果有传入消息,则应用程序会延迟响应。

提前致谢。

4

1 回答 1

1

使用 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
        }
    });
}
于 2013-01-04T13:58:34.033 回答