解決方法 ビットマップが大きすぎて、テクスチャにアップロードできない例外発生
2022-02-24 13:05:17
簡単に言うと、ハードウェアアクセラレーションを行った場合の画像サイズには限界があるということです。デバイスによって最大値が異なる場合があります。この問題の悲しいところは、プログラムがこの例外をキャッチしていないようで、その結果、プログラムがエラーを報告せず、画像が表示されないことです。このエラーメッセージを見つける唯一の方法は、デバッグログを見ることです。
回避策は、ハードウェアアクセラレーションを無効にすることで、これは単純で残酷なことです。
<application android:hardwareAccelerated="false" ... >
より良い解決策は、google mapのような実装です。画像を異なるブロックに分割し、必要なブロックを毎回読み込むのです。
http://developer.android.com/reference/android/graphics/BitmapRegionDecoder.html
<テーブル
1
public
void
drawBitmap (Bitmap bitmap, Rect src, RectF dst, Paint paint)
2
<テーブル
3
public
Bitmap decodeRegion (Rect rect, BitmapFactory.Options options)
<テーブル
3
public
Bitmap decodeRegion (Rect rect, BitmapFactory.Options options)
以上の操作で、多くの画像を読み込むことができ、超大型の画像も表示できるようになります。
関連
-
GPSプロンプトの問題は、Callがユーザーによって拒否される可能性のある許可を必要とすることです:コードは、明示的にsをチェックする必要があります。
-
警告: 構成 'compile' は廃止され、'implementation' と 'api' に置き換わりました。
-
Rは変数に解決できない
-
エラー:プロジェクト':app'の構成に問題が発生しました。
-
Error:プロジェクト ':app' の構成に問題が発生しました。> すべてを解決できませんでした。
-
Error:(1, 1) ルートプロジェクト 'app' の評価で問題が発生しました。> id 'com.android.applica' を持つプラグインが見つかりません。
-
ARM命令 B BLX BX差
-
アンドロイドのHorizontalScrollViewの説明
-
Androidのパーミッションの全リスト
-
Android Studioでエラー解消 引数のメソッドandroid()が見つからない
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
AndroidStudioは、新しいプロジェクト:エミュレータを作成した後、エラーを報告します。ERROR: x86 emulation currently requires hardware acceleration!
-
非推奨のKotlin Android Extensionsプラグインを移行する
-
カラーバリューがマイナス
-
Androidアプリ】【形状利用概要
-
Android Studioのインポートプロジェクトが表示されます。ファイルをクランチするのに失敗しました
-
Androidの模倣QQのログインインターフェイスの例、ログインと登録機能を実現するために。
-
android AVD開始時刻エラー
-
アクティビティクラス{パッケージ/クラス}が存在しない 原因と解決方法
-
エラー: '->' のベースオペランドがポインタでない 'JNIEnv' 型である。
-
Androidアプリケーションのウィンドウ(Activity)のビューオブジェクト(View)の生成過程の解析