Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.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 getDrawingCache()方法根据纵向或横向模式返回null_Android_Caching_Bitmap_Drawing_Imageview - Fatal编程技术网

Android getDrawingCache()方法根据纵向或横向模式返回null

Android getDrawingCache()方法根据纵向或横向模式返回null,android,caching,bitmap,drawing,imageview,Android,Caching,Bitmap,Drawing,Imageview,如果我在横向模式下启动应用程序,getDrawingCache()会返回我需要的位图,在将方向更改为纵向模式(应用程序运行时)后,getDrawingCache()会返回null。 如果我在纵向模式下启动应用程序,getDrawingCache()将返回所需的位图,而与方向无关 这里发生了什么事??从横向或纵向启动应用程序有什么区别?为什么它会更改getDrawingCache()方法 这是我的代码: mPlaceHolderBitmap = null; if (imageView.getDra

如果我在横向模式下启动应用程序,getDrawingCache()会返回我需要的位图,在将方向更改为纵向模式(应用程序运行时)后,getDrawingCache()会返回null。 如果我在纵向模式下启动应用程序,getDrawingCache()将返回所需的位图,而与方向无关

这里发生了什么事??从横向或纵向启动应用程序有什么区别?为什么它会更改getDrawingCache()方法

这是我的代码:

mPlaceHolderBitmap = null;
if (imageView.getDrawable() != null) {
    imageView.setDrawingCacheEnabled(true);
    imageView.buildDrawingCache(true);
    mPlaceHolderBitmap = imageView.getDrawingCache(true);
}

我还尝试使用getDrawingCache而不使用boolean或不调用buildDrawingCache,但始终相同

当您更改配置更改()调用的时间方向时,您是否使用了此方法???

如果您允许在清单上更改方向,那么当您更改方向时,该时间点将转到此方法,以及您编写代码以获取图形缓存的位置??oncreate()或在onResume()中?此方法在2秒后调用。首先显示一个小尺寸的图像。2秒钟后,它将加载高质量图像。在加载高质量图像时,小尺寸图像将替换为此drawingCache。在onCreate后2秒调用。如果在横向或纵向中打开应用程序,有什么区别?我想应该没有什么区别!为什么我在纵向启动应用程序时它会工作?横向和纵向没有区别,但是当你从横向切换到纵向,并且你的应用程序处于前台时,调用onConfiguration Changed()如果你不想这样做,我会有一个更好的解决方案将“screensize”属性放在Manifests中你是说支持屏幕吗?我不(也不能)处理OnConfiguration Changed()。我认为视图的buildDrawingCache()方法最终会出现OutOfMemory?因为这是唯一可以为空的方法?!