bitmap的声明周期,感觉jvm而决定的,图片多了可以用弱引用或软引用做临时缓存管理吧

解决方案 »

  1.   


    这段代码只是告诉虚拟机需要回收该图片,很遗憾,虚拟机不会立即回收。。或者说你不知道他何时回收。
    自动回收机制就是这样,,我们没办法手工的去回收资源。。如上面兄弟说的,使用弱引用会使情况得到改善例,如以下代码:WeakReference<Bitmap> bitmap = new WeakReference<Bitmap>(BitmapFactory.decodeFile(path));bitmap.get();
    比传统的强引用会较快的回收资源.
    有时我们会用异步纯种加载图片子。可以为Gallery或者GridView打一个tag.类似如下:
    mGallery.setTag(task);还有一种,修改android内存限制,这个好像可以。。
      

  2.   

    WeakReference<Bitmap> bitmap = new WeakReference<Bitmap>(BitmapFactory.decodeFile(path));这里的path是什么路径,图片的路径吗?我引用的图片资源都放在程序的 res/drawable-hdpi/ 下面,
    通过 mImageButton.setBackgroundDrawable(getResources().getDrawable(R.drawable.help)); 设置一些控件或布局的背景图片查了一下资料,弱引用好像是C#里的知识,Java里面有嘛?
      

  3.   


    自己上网找吧,Java里有5种引用,默认强引用
      

  4.   

    呵呵,我上面说了弱引用和软引用,但是需要说明的是,模式的不是强引用,强引用即使JVM崩溃了也不会回收的,楼上两位技术不过关啊,哈哈