我在我的应用中使用离子库进行网络操作。 (https://github.com/koush/ion)我对此有疑问。我正在使用ion从我的服务器下载数据,并且在onComplete
方法中我将此数据保存到app database。我需要为此使用新线程db操作?
答案 0 :(得分:1)
ion会在UI线程上调用回调。建议不要在ui线程上执行db操作。
如果在离子请求期间使用.handler(null),它将调用离子使用的网络I / O线程上的回调,并且您可以使用该线程执行db操作。如果db操作耗时太长,它将阻止其他网络操作。它可以使用,只要它不会太长,并且会避免UI晃动。
或者,使用后台线程,或者最好是专门用于db操作的Looper,在请求构建期间向处理程序方法提供Handler对象。