我有一个导航抽屉活动,其中使用ViewPager制作了3个片段。每个片段都有一个编辑文本,图像按钮和RecyclerView。 RecyclerView正在从本地SQLite数据库获取数据。
在打开应用程序时,我得到一个日志跟踪,表明该应用程序跳过了XX帧。
(通常为30至50帧)。正常吗?
如果没有,那我该怎么办?可以使用AsyncTask之类的后台线程制作片段吗?还是应该在后台线程中填充RecyclerView?
答案 0 :(得分:0)
这正常吗?
不。如果您想了解幕后发生的事情,请查看Choreographer(从第619行开始)。
我该怎么办?可以使用AsyncTask之类的后台线程制作片段吗?
您不能在后台线程上对Views
进行任何操作,因为那样会导致CalledFromWrongThreadException,但是您绝对可以并且应该做的是移动所有性能要求很高的操作,例如DB读/写到工作线程。查看“ Android开发人员基础课程”中的AsyncTask and AsyncTaskLoader一章,它将为您提供良好的后台处理开端。
还请注意,不不推荐使用支持库中的LoaderManager。