Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 尝试从其他应用获取可绘制资源时内存不足_Android_Out Of Memory_Drawable_Android Resources - Fatal编程技术网

Android 尝试从其他应用获取可绘制资源时内存不足

Android 尝试从其他应用获取可绘制资源时内存不足,android,out-of-memory,drawable,android-resources,Android,Out Of Memory,Drawable,Android Resources,从我的应用程序中,我试图从其他已安装的应用程序中获取特定的可绘制资源。资源总是存在的。我使用: Resources resources = activity.getPackageManager().getResourcesForApplication(packageName); int previewResID = resources.getIdentifier("image", "drawable", packageName); Drawable myThemePreview = resour

从我的应用程序中,我试图从其他已安装的应用程序中获取特定的可绘制资源。资源总是存在的。我使用:

Resources resources = activity.getPackageManager().getResourcesForApplication(packageName);
int previewResID = resources.getIdentifier("image", "drawable", packageName);
Drawable myThemePreview = resources.getDrawable(previewResID);
在drawable转换为位图之前,我在最后一行得到内存不足的信息,并向用户显示可以与BitmapFactory一起使用的

。使用指定的选项可减少内存

它看起来像这样:

Resources resources = activity.getPackageManager().getResourcesForApplication(packageName);
int previewResID = resources.getIdentifier("image", "drawable", packageName);
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 4;
Bitmap bitmap = BitmapFactory.decodeResource(resources,previewResId,options);

你能多发一点你的代码吗?这么少的代码行很难判断出问题出在哪里。您也可以使用options.inJustDecodeBounds=true让BitmapFactory检索目标位图的宽度和高度,并使用它们计算inSampleSize。