RTFT

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

On Monday, December 10, 2012 10:42:37 AM UTC-5, snowdream wrote:
>
> Hi,everyone.
>     if i want to get a large image (eg.a image which size is  2M or 
> larger.)from url, i use the folllowing code ,and get the exception ."Out of 
> Memory".
>     Any good idea?
>    Thank you.
>
>
>     private Bitmap getBitmapFromUrl(String url) {
>         Bitmap bitmap = null;
>
>         try {
>             URL imagePath = new URL(url);
>             HttpURLConnection conn = 
> (HttpURLConnection)imagePath.openConnection();
>             conn.setConnectTimeout(CONNECT_TIMEOUT);
>             conn.setReadTimeout(READ_TIMEOUT);
>             conn.connect();
>             InputStream is = (InputStream) conn.getContent();
>             if (is != null) {
>                 // bitmap = getBitmapFromInputStream(is, width, height);
>                 bitmap = BitmapFactory.decodeStream((InputStream) 
> conn.getContent());
>             }
>         } catch(Exception e) {
>             e.printStackTrace();
>         }
>         
>         return bitmap;
>     }
>
>
>     public static Bitmap getBitmapFromInputStream(InputStream is, int 
> width, int height){
>         Bitmap bitmap = null;
>         if (null != is ) {
>             BufferedInputStream bis = new BufferedInputStream(is); 
>
>             BitmapFactory.Options opts = null;
>             if (width > 0 && height > 0) {
>                 opts = new BitmapFactory.Options();
>                 opts.inJustDecodeBounds = true;
>                 BitmapFactory.decodeStream(is, null, opts);
>                 
>                 // 计算图片缩放比例
>                 final int minSideLength = Math.min(width, height);
>                 opts.inSampleSize = 
> BitmapUtils.computeSampleSize(opts.outWidth, opts.outHeight, minSideLength,
>                         width * height);
>                 opts.inJustDecodeBounds = false;
>                 opts.inInputShareable = true;
>                 opts.inPurgeable = true;
>             }
>             
>             try {
>                 bitmap =  BitmapFactory.decodeStream(bis, null, opts);
>             } catch (OutOfMemoryError e) {
>                 e.printStackTrace();
>             }
>         }
>         return bitmap;
>     }  
>
>
>
>
> -- 
> 杨辉
> Impossible is nothing!
>
>
>
>
> ------------------------------------------------------------------------------------
> HDExplorer APK (A Nice File Manager,Simplicity but not simple.)
>
> Google Market:
> https://market.android.com/details?id=com.hd.explorer
>
> Google Code:
> http://code.google.com/p/hdexplorer/
>
> 

-- 
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

Reply via email to