Android 文件浏览器内存不足
我试图在文件浏览器中加载视频的缩略图,但这会导致内存不足Android 文件浏览器内存不足,android,video,bitmap,icons,out-of-memory,Android,Video,Bitmap,Icons,Out Of Memory,我试图在文件浏览器中加载视频的缩略图,但这会导致内存不足 public class Filea { private Bitmap VideoIcon; public Bitmap getVideoIcon() { return VideoIcon; } public void setVideoIcon(Bitmap videoIcon) { VideoIcon = videoIcon; } 这是为文件夹中的每个视频文件执行的 每次我加载一个新文件夹时,它是否会保留上一个文
public class Filea {
private Bitmap VideoIcon;
public Bitmap getVideoIcon() {
return VideoIcon;
}
public void setVideoIcon(Bitmap videoIcon) {
VideoIcon = videoIcon;
}
这是为文件夹中的每个视频文件执行的
每次我加载一个新文件夹时,它是否会保留上一个文件夹中的信息,如果是,如何让它删除不需要的资源
private List<Filea> LoadFiles(String dirPath) {
inSearch = false;
List<Filea> files = new ArrayList<Filea>();
try {
for(String F:EditedFileList(current)) {
Filea file = new Filea();
file.setVideoIcon(ThumbnailUtils.createVideoThumbnail(current + "/" + getName(F), MediaStore.Images.Thumbnails.MINI_KIND));
files.add(file);
}
} catch (NullPointerException e) {
e.getStackTrace();
} catch (NoSuchElementException e) {
Log.i("LoadFiles", "No files found");
}
return files;
}
私有列表加载文件(字符串dirPath){
inSearch=false;
列表文件=新的ArrayList();
试一试{
for(字符串F:EditedFileList(当前)){
Filea file=新的Filea();
file.setVideoIcon(ThumbnailUtils.createvideo缩略图(当前+“/”+getName(F)、MediaStore.Images.Thumbnails.MINI_-KIND));
文件。添加(文件);
}
}捕获(NullPointerException e){
e、 getStackTrace();
}捕获(无接触元素例外e){
Log.i(“加载文件”,“未找到文件”);
}
归还文件;
}
这就是获得信息的方式
除了视频缩略图,我正在加载其他数据位,例如文件名、大小、权限、图像图标(如位图)等。很可能您保留了大量不必要的引用。我的建议是将图像放在一个LRUCache中,然后从那里加载它们。这样,您就可以设置一个合理的最大图像内存量。我发现了问题,我试图加载图片的完整图像,而不是缩略图`
file.setImageIcon(ThumbnailUtils.extractThumbnail(BitmapFactory.decodeFile(current + "/" + getName(F)), 100, 100));
谢谢。情绪低落