运行内存不足的android?

时间:2013-11-19 12:30:44

标签: android android-imageview android-gallery

我制作了带有图库视图和图片视图的自定义图库应用程序。在4.2设备中工作得很好,但它的强制关闭在2.3.3

    myHorizontalListView.setOnItemClickListener(new OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View arg1,
                int position, long id) {
            // if (lastview != null)
            // lastview.setBackgroundColor(0xFFFFFFFF);
            // lastview = arg1;
            // arg1.setBackgroundColor(0xFFFF0000);
            ImageView imageView = (ImageView) findViewById(R.id.image);
            p=position;

            imageView.setBackgroundResource(itemsArray[position]);}}

我认为这段代码导致内存耗尽,因为每次我在旧图片下设置新图片

                 imageView.setBackgroundResource(itemsArray[position])

4 个答案:

答案 0 :(得分:0)

使用后清除itemsArray(可能在最后)并尝试缩小图像大小!

答案 1 :(得分:0)

我建议您清除图像并使其记忆可共享(android - unload ImageView image from memeory when it goes off screen inside ScrollView)。这个(有点像谷歌它用于更深入的解释)在ICS +上自动发生。

答案 2 :(得分:0)

  1. 根据应用需要检查您是否正在释放内存。 2.图像尺寸大于或超过要求,或高清图像。
  2. 如果是,则第三次使用此:

    将以下内容添加到清单

    中的应用标记中
    android:largeHeap="true"
    

    它将帮助您为应用程序获取更多堆。

答案 3 :(得分:0)

在较小尺寸的图像视图中重新加载图像

http://developer.android.com/training/displaying-bitmaps/load-bitmap.html