1

我在我的应用程序中使用离子库进行网络操作。(https://github.com/koush/ion)我对此有疑问。我正在使用 ion 从我的服务器下载数据,并且在onComplete方法中我将这些数据保存到应用程序数据库中。我是否需要使用新线程这个数据库操作?

4

1 回答 1

1

ion 默认调用回调到 UI 线程。不建议在 ui 线程上进行 db 操作。

如果您在 ion 请求期间使用 .handler(null) ,它将在 ion 使用的网络 i/o 线程上调用回调,您可以使用该线程执行 db 操作。如果 db 操作耗时过长,则会阻塞其他网络操作。用起来没问题,只要不是太长,并且会避免 UI jank。

或者,使用后台线程,或者最好是专门用于数据库操作的 Looper,在请求构建期间将 Handler 对象提供给处理程序方法。

于 2015-01-08T21:48:14.897 回答