在我的应用程序中,我从我的数据库中加载一些 URL 并将它们存储ArrayList<Bitmap>
在一个库中。它工作得很好,但速度很慢。问题是我ArrayList
在显示图像之前加载了所有位图。
try
{
JSONArray jArray = new JSONArray(result);
for(int i=0;i<jArray.length();i++)
{
Temp = jArray.get(i).toString();
HttpURLConnection connection = null;
try
{
connection = (HttpURLConnection) new URL(Temp).openConnection();
}
catch (MalformedURLException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
connection.connect();
InputStream input = connection.getInputStream();
x = BitmapFactory.decodeStream(input);
bitmapArray.add(x);
}
}
return bitmapArray; // returning the array list with all the bitmaps inside
protected void onPostExecute(ArrayList<Bitmap> donnees)
{
SetupInterface(); // This method sends the arraylist to an image adatper and display bitmaps to the screen.
}
我的问题是SetupInterface()
仅在数组已满并返回时才调用它。所以当我打开我的活动时,显示画廊大约需要 4-5 秒,因为在显示之前必须加载数组中的所有位图。如何更快地做到这一点?