从文件中读取String的最快方法是什么?

时间:2011-12-28 18:36:39

标签: java android performance optimization

从文件中的随机位置读取字符串的最快方法是什么?该文件位于SD卡上,代码将在Android中运行。

我目前正在做什么 - 我将字节读入字节数组并将其传递给String构造函数。 charset是UTF-8。大约90%的运行时间花费在String构造函数中,其中Charset.decode(...)是瓶颈。

我正在阅读的字符串是公共交通站点名称,因此平均长度约为15个字符。

编辑:在Android 2.3.3仿真器上测试,它比2.1快得多(可能是由于JIT编译器)。每个字符串可以在大约1ms内读取,这足够快。

1 个答案:

答案 0 :(得分:0)

您没有提到您尝试读取的字节数,从读取字节创建新字符串的频率或脚本执行所需的时间。

发布一些代码,向我们展示您正在使用哪些算法来实现您正在做的事情。对我来说,这听起来像是一个微不足道的优化,因为你无法在不编写自己的情况下控制解码功能。如果其他一切都得到优化,我会说你的速度与你从文件中读取的速度一样快。再说一遍,我们谈的是多少次操作?这条痕迹需要多长时间?