2011-02-14 97 views
2

我有一个Nook Color(Android 2.1)设备和将从sdcard读取一些大文件(PDF)的应用程序。 我将使用FileInputStream进行文件读取(并且它在模拟器和Android 2.2及更高版本的设备上均可正常工作)。Android 2.1文件读取速度很慢

FileInputStream fileInputStream = new FileInputStream(filename); 
fileInputStream.skip(offset); 
BitmapFactory.Options options = new BitmapFactory.Options(); 
Bitmap bitmap = BitmapFactory.decodeStream(fileInputStream, null, options); 
fileInputStream.close(); 
return bitmap; 

该文件被放在某处SD卡: 不幸的是,在执行下面的代码工作painfuly慢(125MB用于文件约25秒)。偏移量可能指向文件中的任何点(甚至到开头) - 问题仍然存在。

这是什么性能问题的原因?

回答

3

这相当于读取速度为5mb/s,与我使用的大多数Android设备的MicroSD卡的速度大致相当。

更高端的SD卡可能会获得更高的性能,但没有什么代码可以加快速度。

+0

我会很乐意相信你,但是在android 2.2+(以及我不完全不确定2.1)设备的情况下,阅读128Mb PDF的最新页面所花费的时间不到1秒(页面位于文件)。 – Vladimir 2011-02-14 16:02:36