几天的过程中我一直在这里看着,在许多岗位,在因特网上的问题即时解决在具有装载或移动大JPG图片(位于由现在的可绘制reource),我觉得是时候问自己altought有许多问题和解决方案非常相关。
我正在开发一个三维地形模拟与OpenGL和问题是,我使用的地形纹理相当大的JPG格式(2048×2048 = 1.94 MB)。
让我们来看看一些workarround我所做的:
第一名:
Bitmap terrainBitmap = BitmapFactory.decodeResource(getResources(),
R.drawable.terrain, options);
这一次崩溃inmediately,可能是因为图片太大
第二:
Uri path = Uri.parse("android.resource://com.jgc.my_app/" + R.drawable.terrain);
URL ulrn;ulrn = new URL(path.getPath());
HttpURLConnection con = (HttpURLConnection)ulrn.openConnection();
InputStream is = con.getInputStream();
Bitmap bmp = BitmapFactory.decodeStream(is);
一个可能是一个非常愚蠢的尝试
第三:
Bitmap terrainBitmap = BitmapFactory.decodeFile("android.resource://com.jgc.my_app/terrain.jpg", options);
但我发现了一个非常令人沮丧的空位图作为结果...
考虑到其他workarrounds是,作为绘图资源是“内部”的应用程序,为什么不将它们移动到SD卡和decodefile形式存在,但考虑到移动位图或绘制到,我已经在SD卡的解决方案总是发现用户BitmapFactory.decodeResource(getResources(),R.drawable.terrain,选项);
我欣赏任何建议,从那时起,我将致力于在角落找寻我proyect其他任务。
提前致谢