关于java开发android应用中,读取文件的机制的疑惑。请解释下。

ghost5216 2019-01-11 04:50:52
你好。

关于android、JAVA、JVM的一些请教。

以下是伪代码,只阐明意图。

while(true)
{
fileitem f = File.Read("path");
}

反复读取harddisk上的文件,是否每次都会进行IO操作,还是首次进行IO而此后只在内存或缓存中读取。

因为用到此文件的地方很多(比如某个图片资源),但这个文件内容不会随时间(操作)变化。
是在初始化过程中只读取一次,放入内存(全局变量)使用。还是每次都从path读取。二者是否有性能差距。

最好指明您看法的出处,比如书籍,官方资料等等。

谢谢。
...全文
735 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
王能 2019-01-14
  • 打赏
  • 举报
回复
仅仅某个控件使用,只保存到自己对象下即可,记得不要太大,jpg的100k左右,我以为你要存成静态的。 还有,在安卓里面,动画一般都是animator或animation的组合,图片一般在drawable里面,这样就不需要考虑内存问题了
Zy_JiBai 2019-01-14
  • 打赏
  • 举报
回复
看需求吧.看你上面这个伪代码是要外部读取资源.这样的话只能每次都读取了.不行就用位图缓存.内部资源的话放到assets或者drawable中就好了.
ghost5216 2019-01-12
  • 打赏
  • 举报
回复




引用 1 楼 王能 的回复:
1.每次都用path读当然都会进行io操作。
2.图片资源本身就很大,不建议保存到内存里。
3.其他资源看大小,MB的数据都不建议。
4.图片资源建议使用glide
5.这不需要官方资料

我须要用这些PNG图片来表现一个动画效果,即以一个时间间隔连续的draw出来,这样看上去像是动画一样。如果每次都是io去读,我担心影响效果。
morninggood 2019-01-12
  • 打赏
  • 举报
回复
读到内存流的话,不用每次io了
王能 2019-01-11
  • 打赏
  • 举报
回复
1.每次都用path读当然都会进行io操作。 2.图片资源本身就很大,不建议保存到内存里。 3.其他资源看大小,MB的数据都不建议。 4.图片资源建议使用glide 5.这不需要官方资料

80,472

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧