問題タブ [android-bitmap]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - HPROF 後のアプリの巨大なバイト []
ときどき、特にアプリに新しい機能を実装するときは、DDMS + HPROF を使用してメモリとヒープの使用状況を分析します。アプリにはパフォーマンス - ANR の問題はないようで、すべてがスムーズに機能するため、最初は気にしませんでしたが、今ではほぼ常に同じサイズであることがわかり、何ができるのか疑問に思っています。なれ。
HPROF を実行するたびに、 [リークの疑い] タブをチェックします。android.graphics.Bitmap
使用されているすべてのヒープの約 25% を占めるインスタンスが常に存在します。
それが何であるかをもう少し知りたかったので、ドミネーターツリーを開いて、これを見ました:
したがって、本質的にbyte[]
、大量のヒープを保持し、決して解放されない巨大なインスタンスがあります。thisによると、 that の値をコピーしbyte[]
てファイルにダンプし.data
、Gimp で開いたところ、次の結果が得られました。
つまり、基本的には PNG 画像の「alpha(0)」の部分のように見えます。次の事実を考慮してください。
- すべての画像ファイルのサイズは 8K 未満です
- そのうちのいくつかは PNG ですが、残りは JPG に変換できました。
- さらに画像を追加しても問題ありませんが、そのサイズは
byte[]
アプリの開始時 (4 か月前) からほぼ同じです。 - それをデバッグするために、フォルダーとフォルダーから画像ファイルを削除し、描画可能なリソースなしでアプリを実行しようとしましたが、まだそこにありました
drawable
drawable-xxx
byte[]
- ほとんどすべてのレイアウトを削除し、基本的な機能だけを残しましたが、結果は同じでした
- ドミネーター ツリーでは、ルート クラスは
android.graphics.Bitmap
誰でもこれが何であるかを知っていbyte[]
ますか?それを解放するために何かをする必要がありますか?
どんな助けでも大歓迎です!
android - match_parent に設定されたレイアウトが幅 0 を表示するのはなぜですか
次のコードがあります。
私を混乱させているのは、なぜ がLAYOUT WIDTH
0 なのかということです。XML では、レイアウトの幅を にmatch_parent
、高さをに設定していますwrap_content
。
Bitmap
以下でデコードし、幅fill_parentの上のレイアウトを埋めるにはどうすればよいですか? LayoutParams を使用しますか?
XML コードは次のとおりです。
私が達成しようとしているのは、リーマン用語で、レイアウトを取得して背景画像で塗りつぶし、ピクセルを使用して X 座標と Y 座標を取得することです。
java - LibGdx イメージを受け入れ可能な Android イメージ形式に変換する
タイプcom.badlogic.gdx.scenes.scene2d.ui.Imageの Java LibGdx イメージをタイプ「android.graphics.Bitmap」のイメージに変換する必要があります。Android ACTION_SEND インテントを使用してこの画像を共有したいので、これが必要です。
LibGdx イメージを Android ビットマップまたは Java BufferedImage に変換する方法はありますか?
android - API 23 でアプリを起動するとメモリ不足になる
API 23 の Galaxy S3 でアプリのテストを開始すると、少しがっかりします。スプラッシュ スクリーンを開始すると、メモリ不足エラーが発生します。うわー。
私のアプリは、API 10 から API 18 でうまく動作します。Splashscreen アクティビティには、4 つのアイコンと背景画像 (1900*1200px ~ 400kb) があります。メモリ不足の問題なしで私のアプリを実行するアイデアはありますか?
android - 別の画像の背後にある画像の表示部分のみをトリミングする
私たちに見える画像の部分を取得したい。最初の画像の上に別の画像があります。その画像から、最初の画像の一部が見えます。そして、私はその部分だけが欲しいです。そのサンプルと、私が期待している最終出力をお見せします。
楕円形にトリミングする方法を知っています。ただし、ここでは、上記の例で使用されているテンプレートは実際には異なる可能性があるため、テンプレート /mask に従ってその画像をトリミングする必要があります。これどうやってするの。何か案が?
android - SDCard 上の大きな画像をカスタム リストビューの小さな画像ビューに読み込みます
私はこのようなカスタムリストビューを持っています. 私のアプリケーションでは、カメラを開いて写真をSDカードにキャプチャできます。キャプチャした写真を小さなイメージビューに表示したい。しかし、私は次のメッセージになりました:ビットマップが大きすぎてテクスチャにアップロードできません (2448x3264、最大 = 2048x204) どうすればそのような画像をイメージビューに表示できますか?
前もって感謝します
編集1:
android - Canvas.clipRects を使用して顔の四角形を強調表示する方法は?
複数の面を持つビットマップがあります。顔の四角形が元の色になり、残りの領域が黒くなるように、各面を強調表示したいと思います。
私は次のようなことをしました、
しかし、これは私のイメージ全体を黒くします。原因はなんとなくわかるのですが、解決策が思いつきません。
android - Android: ビットマップ使用時のメモリ不足エラー
アプリでメモリ不足エラーが発生することがよくあります。サーバーからダウンロードしたビットマップに関係していると思います。理由はありますか?