2010-12-01 12 views
2

ImageViewで簡単なアプリケーションを開発しています.ImageViewをクリックすると、アプリケーションが画像ギャラリーを開く必要があります。これを達成するために私が選択した画像がImageViewの中に表示されている。次のコードにSDカードから画像を読み取るときにメモリ不足になる

Intent imageIntent=new Intent(Intent.ACTION_PICK); 
    imageIntent.setType("image/*"); 
    startActivityForResult(imageIntent,5); 

そしてActivityResult

super.onActivityResult(requestCode, resultCode, data); 
if(requestCode == 5) 
    { 
     Cursor cursor; 
     Uri uri=data.getData();  
     if(uri!=null) 
     { 
      cursor=getContentResolver().query(uri, new String[]{ android.provider.MediaStore.Images.ImageColumns.DATA }, 
        null, null, null); 
      cursor.moveToFirst(); 
      String imageID=cursor.getString(0); 
      personImage.setImageURI(uri); 
      Log.i("ImageId", ""+imageID); 
      cursor.close(); 
     } 
    } 

を使用しています今、問題は私が次の例外を取得している2回目をしているときです。

12-01 19:31:52.344: ERROR/AndroidRuntime(2011): FATAL EXCEPTION: main 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011): java.lang.OutOfMemoryError: bitmap  size exceeds VM budget 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.graphics.BitmapFactory.nativeDecodeStream(Native Method) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:468) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:332) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.graphics.drawable.Drawable.createFromResourceStream(Drawable.java:697) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.graphics.drawable.Drawable.createFromStream(Drawable.java:657) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.widget.ImageView.resolveUri(ImageView.java:572) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.widget.ImageView.setImageURI(ImageView.java:293) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at com.css.testsample.ReadImage.onActivityResult(ReadImage.java:36) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.app.Activity.dispatchActivityResult(Activity.java:3931) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.app.ActivityThread.deliverResults(ActivityThread.java:3730) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.app.ActivityThread.handleSendResult(ActivityThread.java:3776) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.app.ActivityThread.access$2800(ActivityThread.java:135) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2166) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.os.Handler.dispatchMessage(Handler.java:99) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.os.Looper.loop(Looper.java:144) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at android.app.ActivityThread.main(ActivityThread.java:4937) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at java.lang.reflect.Method.invokeNative(Native Method) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at java.lang.reflect.Method.invoke(Method.java:521) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
12-01 19:31:52.344: ERROR/AndroidRuntime(2011):  at dalvik.system.NativeStart.main(Native Method) 

この問題の処理方法はわかりません。誰か助けてください。

おかげで、よろしく、 Rajapandian.K

答えて

1

は、あなたのタイムリーな助けをhere

+0

感謝を示すようにあなたのイメージをダウンサンプリングしてみます。 – Rajapandian

関連する問題