Android 碎纸壁纸

Android 碎纸壁纸,android,random,canvas,live-wallpaper,Android,Random,Canvas,Live Wallpaper,我正在制作一张实时壁纸,我想随机放置一些图片 在surfaceview的背景下,除了我 在我的电脑上运行它,程序就会崩溃。我不知道如何在我的手机上获取实际的日志 因为它没有根 代码如下: Bitmap TOAD=BitmapFactory.decodeResource(getResources(),R.drawable.蘑菇); 画布cb=新画布(Achtergrond); 对于(int m=0;m

我正在制作一张实时壁纸,我想随机放置一些图片 在surfaceview的背景下,除了我 在我的电脑上运行它,程序就会崩溃。我不知道如何在我的手机上获取实际的日志 因为它没有根

代码如下:
Bitmap TOAD=BitmapFactory.decodeResource(getResources(),R.drawable.蘑菇);
画布cb=新画布(Achtergrond);
对于(int m=0;m<50;m++)
{
cb.drawBitmap(蟾蜍,r.nextInt(SchermX),r.nextInt(SchermY),mPaint);
}

在模拟器上,毒蕈被添加并正确运行,但在我的galaxy上它崩溃了


有什么我做错了吗?

我忘了提到SchermX=random screenwidth和SchermY Is random screen heightRoot不需要访问日志。在设置中启用USB调试,然后在设备连接到计算机并配置了所有驱动程序的情况下运行
adb logcat
。非常感谢,我现在知道错误是,是时候找到解决方案了。错误是:E/AndroidRuntime(24031):java.lang.IllegalStateException:传递给画布构造函数的不可变位图我猜
Achtergrond
是您从资源加载的背景位图吗?尝试将此背景和较小的图像都绘制到曲面中,而不是将较小的图像绘制到背景位图中。嘿,Adamp,我设法将其修复为将从资源加载的位图复制到新位图中,然后我可以在位图上绘制并将其绘制为背景。我需要使用这种机制,因为我需要创建一个位图背景,上面有一些包含透明度的图像。位图仅在启动或唤醒时生成。我发现当在surfaceview上直接绘制具有透明度的图像时,应用程序的速度会大大减慢,所以现在一切正常。
Bitmap TOAD = BitmapFactory.decodeResource(getResources(),R.drawable.mushroom);
Canvas cb = new Canvas(Achtergrond); 
for (int m = 0;m < 50;m++)
{
cb.drawBitmap(TOAD, r.nextInt(SchermX), r.nextInt(SchermY), mPaint);
}