Android iowait扼杀了安卓系统的性能
这是在Android上,我的应用程序在试图创建大文件时减慢了UI交互,我的SD卡速度很慢,我可以观察到在创建大文件时出现highAndroid iowait扼杀了安卓系统的性能,android,linux,iowait,Android,Linux,Iowait,这是在Android上,我的应用程序在试图创建大文件时减慢了UI交互,我的SD卡速度很慢,我可以观察到在创建大文件时出现highiowait,CPU只是处于空闲状态,在此过程中,应用程序运行缓慢,UI交互没有响应,这看起来很正常,因为我的SD卡速度很慢,这是高iowait所期望的 我在某个地方读到,只要使用异步IO,iowait不会影响应用程序的性能,现在我不太明白的一点是,我正在后台线程中创建一个大文件,它与UI线程同时运行,我认为不应该阻止UI线程。是的,我没有使用Java非BLIO API
iowait
,CPU只是处于空闲状态,在此过程中,应用程序运行缓慢,UI交互没有响应,这看起来很正常,因为我的SD卡速度很慢,这是高iowait
所期望的
我在某个地方读到,只要使用异步IO,iowait
不会影响应用程序的性能,现在我不太明白的一点是,我正在后台线程中创建一个大文件,它与UI线程同时运行,我认为不应该阻止UI线程。是的,我没有使用Java非BLIO API,但是通过使用后台线程来实现异步难道还不够吗
另外,我正在创建一个大文件,方法是打开一个
RandomAccessFile
和seek
ing到指定位置。在执行一些繁重的IO任务时,不应允许用户与UI线程交互。这将导致UI延迟。只需在编写文件时提供一个ProgressDialog。使用Traceview获得更好的感觉关于正在发生的事情。感觉在后台线程和主应用程序线程之间有一些依赖关系——Traceview应该帮助指出这些依赖关系。