我嘗試在android中將圖像從blob azure加載到gridview。在doInBackground我有這個code`Android中的位圖OutMemoryOfException
ArrayList<Bitmap> userBitmaps=new ArrayList<>();
URL urlConnection = new URL(blob.getUri().toString());
HttpURLConnection connection = (HttpURLConnection) urlConnection.openConnection();
connection.setDoInput(true);
connection.connect();
Bitmap bitmap = BitmapFactory.decodeStream((InputStream) new URL(blob.getUri().toString()).getContent());
userBitmaps.add(bitmap);`
當我打開的頁面與此gridview的第一次一切正常,但第二次我有這樣的錯誤
E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1 java.lang.RuntimeException: An error occured while executing doInBackground()
at android.os.AsyncTask$3.done(AsyncTask.java:299)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
at java.util.concurrent.FutureTask.run(FutureTask.java:239)
at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
at java.lang.Thread.run(Thread.java:841)
Caused by: java.lang.OutOfMemoryError
at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:623)
at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:696)
at com.example.gaya.searchpeople.UsersInfoActivity$NetworkConnector.doInBackground(UsersInfoActivity.java:151)
at com.example.gaya.searchpeople.UsersInfoActivity$NetworkConnector.doInBackground(UsersInfoActivity.java:119)
at android.os.AsyncTask$2.call(AsyncTask.java:287)
at java.util.concurrent.FutureTask.run(FutureTask.java:234)`
請幫忙解決我的問題,謝謝。
謝謝,它幫助我) –