Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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_Bitmap - Fatal编程技术网

Android 安卓系统在其他设备上测试我的应用程序时,似乎只有一些设备能够接收我的绘图功能

Android 安卓系统在其他设备上测试我的应用程序时,似乎只有一些设备能够接收我的绘图功能,android,bitmap,Android,Bitmap,我试图用所有密度的简单动画来测试我的应用程序,但在模拟器上测试高密度和低密度手机时(Nexus One 4.2.2用于hdpi,WQVGA 4.2.2用于ldpi),我的位图没有绘制出来。我仔细检查了所有文件夹的位图名称是否相同,并对它们进行了适当的缩放,这似乎没有任何帮助。如果有帮助的话,我将使用此示例单独调整大小 DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getM

我试图用所有密度的简单动画来测试我的应用程序,但在模拟器上测试高密度和低密度手机时(Nexus One 4.2.2用于hdpi,WQVGA 4.2.2用于ldpi),我的位图没有绘制出来。我仔细检查了所有文件夹的位图名称是否相同,并对它们进行了适当的缩放,这似乎没有任何帮助。如果有帮助的话,我将使用此示例单独调整大小

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
switch(metrics.densityDpi){
 case DisplayMetrics.DENSITY_LOW:
            break;
 case DisplayMetrics.DENSITY_MEDIUM:
             break;
 case DisplayMetrics.DENSITY_HIGH:
             break;
}
这是我的日志:

07-24 03:32:53.424: E/Trace(822): error opening trace file: No such file or directory     (2)
07-24 03:32:54.514: D/dalvikvm(822): GC_CONCURRENT freed 33K, 6% free 2774K/2932K,     paused 18ms+17ms, total 132ms
07-24 03:32:54.574: D/dalvikvm(822): GC_FOR_ALLOC freed 6K, 6% free 2845K/2996K, paused    27ms, total 28ms
07-24 03:32:54.584: I/dalvikvm-heap(822): Grow heap (frag case) to 3.500MB for 635812-byte allocation
07-24 03:32:54.636: D/dalvikvm(822): GC_FOR_ALLOC freed <1K, 5% free 3466K/3620K, paused 48ms, total 48ms
07-24 03:32:54.684: D/dalvikvm(822): GC_CONCURRENT freed 1K, 5% free 3470K/3620K, paused 18ms+5ms, total 48ms
07-24 03:32:54.684: D/dalvikvm(822): WAIT_FOR_CONCURRENT_GC blocked 19ms
07-24 03:32:54.694: I/dalvikvm-heap(822): Grow heap (frag case) to 4.968MB for 1536016-byte allocation
07-24 03:32:54.744: D/dalvikvm(822): GC_FOR_ALLOC freed <1K, 4% free 4970K/5124K, paused 43ms, total 44ms
07-24 03:32:55.405: I/Choreographer(822): Skipped 43 frames!  The application may be doing too much work on its main thread.
07-24 03:32:55.424: D/gralloc_goldfish(822): Emulator without GPU emulation detected.
07-24 03:32:55.815: I/Choreographer(822): Skipped 64 frames!  The application may be doing too much work on its main thread.
07-24 03:32:53.424:E/Trace(822):打开跟踪文件时出错:没有这样的文件或目录(2)
07-24 03:32:54.514:D/dalvikvm(822):GC_并发释放33K,6%释放2774K/2932K,暂停18ms+17ms,总计132ms
07-24 03:32:54.574:D/dalvikvm(822):释放6K的所有数据的GC_,6%的自由数据2845K/2996K,暂停27ms,总计28ms
07-24 03:32:54.584:I/dalvikvm堆(822):为635812字节分配将堆(frag案例)增长到3.500MB

07-24 03:32:54.636:D/dalvikvm(822):GC_FOR_ALLOC freed您面临的错误是因为您在主线程上做了太多的工作。使用异步任务来实现此目的,在其中执行所有后台工作,然后在onPostExecute上显示结果。其次,如果位图或可绘制大小太大,则无法正确渲染和显示,有时会导致OutofMemory异常和其他异常。目前,我在您的日志文件中看到的是,您在UIThread上做了太多的工作,这不是一个好的做法,并且阻止了应用程序操作,导致ANR,即应用程序没有响应。

这让我有些发笑,因为我的“动画”只是一个在屏幕上缓慢移动的小对象。无论如何,为了实现我所拥有的,我遵循了一个教程,该教程让我在视图中创建动画,后来我说使用SurfaceView可能更好。这是必要的,还是遵循异步任务就足够了?另一方面,为什么它在MDPI中工作良好,即使它的ram比HDPI少?