我正在制作一个包含一个内部画廊(我正在使用GridView实现)的应用程序,该画廊将“ assets”文件夹中的内容图像作为内容图像,用于显示图像的方法如下:
//this is the method getView in the Adapter class i make
public View getView(int position, View convertView, ViewGroup parent) {
View view = getLayoutInflater().inflate(R.layout.image_layout, parent, false);
ImageView image = (ImageView)view.findViewById(R.id.myImage);
InputStream stream;
try {
stream = getAssets().open("gallery/"+getItem(position));
Drawable d = Drawable.createFromStream(stream, null);
if (Build.VERSION.SDK_INT >= 16) image.setBackground(d);
else image.setImageDrawable(d);
stream.close();
} catch (IOException e) {
e.printStackTrace();
}
return view;
}
图像显示正确,但是当我上下滚动时,每当网格中显示新图像时, 该应用程序滞后了几毫秒,但想象一下,每次显示图像时滞后,其性能 烦人的是,我想要的是当我上下滚动以查看图像时使画廊平稳运行。那可能吗 这种方式(从资产文件夹中打开它们)?还是我应该写一种方法将图像复制到外部存储并显示图像? 从那里开始?
注意:
图像数量约为40张。
我的目标是在可能的情况下,在“资产”或“ res”文件夹中打开它们。
那么,我应该怎么做?