java - 从文件中读取字符串最快的方法是什么?

标签 java android performance optimization

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

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

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

编辑:在 Android 2.3.3 模拟器上测试,它比 2.1 快得多(可能是由于 JIT 编译器)。每个String可以在大约1ms内读取,足够快了。

最佳答案

您没有提及您尝试读取多少字节、您从读取字节创建新字符串的频率或您的脚本执行需要多长时间。

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

关于java - 从文件中读取字符串最快的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8659831/

相关文章:

java - 如何识别已被不当拒绝的 Java URI hashCode() 错误

java - 应用程序运行时每秒更新一次 TextView

php - 如何对 html/php 网页进行反注释?

javascript - ES6 模块 : Exporting and importing performance differences

java - 如何使用 Javassist 获取原始类型的类?

java - 如何在ubuntu中使用eclipse luna配置android SDK?

java - 使用 json-simple 库在 Java 中解码 JSON 字符串

java - 如何将 HashMap 添加到 ArrayList

android - 如何在后台保持任务?

performance - 使用优化和调试开关进行编译 - 性能是否会降低?