我的问题有两个:
在Android中的主线程上进行IO操作是否可行,或者它是否有可能导致我的应用程序崩溃.
如果在主线程上执行IO操作不理想,我可以使用哪些其他框架,以便在我的应用程序加载时可以执行一些基本的IO文件读取并可以将值存储在变量中.
在Android中的主线程上进行IO操作是否可行,或者它是否有可能导致我的应用程序崩溃.
如文档中所解释的那样不可取.您可能会遇到糟糕的用户体验.UI线程(~5s)上的较长操作将导致ANR(应用程序无响应)对话框 - 这会导致应用程序崩溃.此外,网络通信等IO操作也会导致API抛出即时异常.
如果在主线程上执行IO操作不理想,我可以使用哪些其他框架,以便在我的应用程序加载时可以执行一些基本的IO文件读取并可以将值存储在变量中.
很多,对于基本IO文件读取,您可以使用AsyncTask:
AsyncTask - 用于简短操作 - 比如读取文件+解析它.你必须自己管理它的生命时间 - 即.如果在活动中使用,它会因配置更改而被破坏.
加载器 - 应该取代AsyncTask,因为它更容易被活动中的托管组件.它的管理由框架完成.
Executor - 这是在线程池上执行代码的java类.你必须自己管理它的生命.IE浏览器.当配置更改活动时.
服务它不会创建自己的线程,但允许您在后台执行长时间的操作.
IntentService - 创建自己的线程并在队列中处理任务的服务
| 归档时间: |
|
| 查看次数: |
3331 次 |
| 最近记录: |