私はかなり単純なアプリケーションで作業しています。アプリは、ボンネットの下に次のコードを持って:あなたは間違いなく、すでに推測しなかったようKitKatデバイスのbuildDrawingCacheで「ビットマップサイズが32ビットを超えています」
...
mRootContentView = getWindow().getDecorView().findViewById(android.R.id.content));
int[] screenDimensions = AndroidUtils.getScreenDimesions(getContext());
bitmap = Bitmap.createBitmap(screenDimensions[0], screenDimensions[1], Bitmap.Config.ARGB_8888);
Canvas c = new Canvas(bitmap);
mRootContentView.layout(0, 0, screenDimensions[0], screenDimensions[1]);
mRootContentView.draw(c);
...
、それは全体の現在の活動の「スクリーンショット」を取得します。
java.lang.IllegalArgumentException: bitmap size exceeds 32bits
at android.graphics.Bitmap.nativeCreate(Native Method)
at android.graphics.Bitmap.createBitmap(Bitmap.java:809)
at android.graphics.Bitmap.createBitmap(Bitmap.java:769)
at android.view.View.buildDrawingCache(View.java:13608)
at android.view.View.draw(View.java:14154)
at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
at net.simonvt.menudrawer.MenuDrawer.dispatchDraw(MenuDrawer.java:665)
at android.view.View.draw(View.java:14468)
at android.view.View.draw(View.java:14350)
at android.view.ViewGroup.drawChild(ViewGroup.java:3103)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:2940)
at android.view.View.draw(View.java:14468)
at android.widget.FrameLayout.draw(FrameLayout.java:472)
. . .
この例外は唯一のキットカットのデバイス上でスローされ、こうした:私は私のACRAは私にこれを言って、報告に奇妙な例外に直面してきたアンドロイドV 4.4.2(キットカット)realease後
:ネクサス7とネクサス5EDIT
ように私はこれをも試してみました
mRootContentView.setDrawingCacheEnabled(true);
mRootContentView.buildDrawingCache();
bitmap = mRootContentView.getDrawingCache();
何も変更されていません。
レイアウトの前に測定する必要があります –