正在开发一个扑克游戏,最初我有5张纸牌并在纸牌背面显示。然后将显示带有卡片新图像的第一组图像,并且仍然可以。抽出另一张卡后,setImageResource()
使用电话触发了InvocationTargetException
。并且在手机中运行时,它与debugging
崩溃,无法执行android IllegalStateException
的方法。有时它在第二张卡,第三张或第四张卡上崩溃了。没有图案。我没有使用onClick()
或我的emulator
遇到此问题。仅发生在我的2部手机上。任何帮助将不胜感激。
tablet
答案 0 :(得分:1)
这是内存不足的问题,OOM
Caused by: java.lang.OutOfMemoryError: Failed to allocate a 26269068 byte allocation with 3836592 free bytes and 3MB until OOM
我不确定您如何创建图像并加载图像,一些代码会有所帮助。一般来说,让Glide等库来处理图像加载。这些库进行大小采样,并在加载图像时减小大小。它大大减少了OOM问题。
答案 1 :(得分:0)
请尝试以下代码:
int id = getResources().getIdentifier("yourpackagename:drawable/" + StringGenerated, null, null);
imageview.setImageResource(id);
或使用此
Drawable image = ImageOperations(context,ed.toString(),"image.jpg");
ImageView imgView = new ImageView(context);
imgView = (ImageView)findViewById(R.id.image1);
imgView.setImageDrawable(image);