你好。关于android、JAVA、JVM的一些请教。以下是伪代码,只阐明意图。while(true)
{
   fileitem  f = File.Read("path");
}反复读取harddisk上的文件,是否每次都会进行IO操作,还是首次进行IO而此后只在内存或缓存中读取。因为用到此文件的地方很多(比如某个图片资源),但这个文件内容不会随时间(操作)变化。
是在初始化过程中只读取一次,放入内存(全局变量)使用。还是每次都从path读取。二者是否有性能差距。最好指明您看法的出处,比如书籍,官方资料等等。谢谢。

解决方案 »

  1.   

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

  2.   

    我须要用这些PNG图片来表现一个动画效果,即以一个时间间隔连续的draw出来,这样看上去像是动画一样。如果每次都是io去读,我担心影响效果。
      

  3.   

    仅仅某个控件使用,只保存到自己对象下即可,记得不要太大,jpg的100k左右,我以为你要存成静态的。
    还有,在安卓里面,动画一般都是animator或animation的组合,图片一般在drawable里面,这样就不需要考虑内存问题了
      

  4.   

    看需求吧.看你上面这个伪代码是要外部读取资源.这样的话只能每次都读取了.不行就用位图缓存.内部资源的话放到assets或者drawable中就好了.