当前位置: 代码迷 >> Android >> android imageView图片太长,程序强退解决方案
  详细解决方案

android imageView图片太长,程序强退解决方案

热度:94   发布时间:2016-05-01 10:11:11.0
android imageView图片太长,程序强退
iv.setMaxHeight(dm.heightPixels/2);
iv.setMaxWidth(dm.widthPixels/2);
我用上面的代码把imageview的大小都限制到了屏幕的一半,大部分图片都能自动缩放。
但是只要是长图,如果运行的模拟设备屏幕太小都会强退,如果设备屏幕够大的就会自动缩小。
比如,一张长图,在平板电脑的设备里可以显示,但是放到手机屏幕上就会强退,为什么会这样啊?该怎么解决呢?

------解决方案--------------------
 BitmapFactory.Options bitOptions=new Options();
        //设置读进来的比例,以原来的1/10来读取
      bitOptions.inSampleSize=10;
 Bitmap bitmap= BitmapFactory.decodeFile("/sdcard/a.jpg",bitOptions);
iView.setImageBitmap(bitmap)
能够实现大小变为原来的十分之一
------解决方案--------------------

Bitmap bt;
int intnt = 2;
while ( true ) {
Options op = new Options();
        op.inJustDecodeBounds = true;
        bt = BitmapFactory.decodeFile(mImagePath, op);
        op.inSampleSize = intnt; 
        op.inJustDecodeBounds = false; 
        bt = BitmapFactory.decodeFile(mImagePath, op);
        
        if ( bt != null ){
         intnt = intnt+1;
         if ( bt.getWidth() < 240 
------解决方案--------------------
 bt.getHeight() < 240 ) {

         break;
        }
        }
        
}


bt就是等比缩放后的bitmap
  相关解决方案