問題タブ [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.

0 投票する
1 に答える
1705 参照

android - HPROF 後のアプリの巨大なバイト []

ときどき、特にアプリに新しい機能を実装するときは、DDMS + HPROF を使用してメモリとヒープの使用状況を分析します。アプリにはパフォーマンス - ANR の問題はないようで、すべてがスムーズに機能するため、最初は気にしませんでしたが、今ではほぼ常に同じサイズであることがわかり、何ができるのか疑問に思っています。なれ。

HPROF を実行するたびに、 [リークの疑い] タブをチェックします。android.graphics.Bitmap使用されているすべてのヒープの約 25% を占めるインスタンスが常に存在します。

リーク容疑者

それが何であるかをもう少し知りたかったので、ドミネーターツリーを開いて、これを見ました:

ドミネーターツリー

したがって、本質的にbyte[]、大量のヒープを保持し、決して解放されない巨大なインスタンスがあります。thisによると、 that の値をコピーしbyte[]てファイルにダンプし.data、Gimp で開いたところ、次の結果が得られました。

PNG

つまり、基本的には PNG 画像の「alpha(0)」の部分のように見えます。次の事実を考慮してください。

  • すべての画像ファイルのサイズは 8K 未満です
  • そのうちのいくつかは PNG ですが、残りは JPG に変換できました。
  • さらに画像を追加しても問題ありませんが、そのサイズはbyte[]アプリの開始時 (4 か月前) からほぼ同じです。
  • それをデバッグするために、フォルダーとフォルダーから画像ファイルを削除し、描画可能なリソースなしでアプリを実行しようとしました、まだそこにありましたdrawabledrawable-xxxbyte[]
  • ほとんどすべてのレイアウトを削除し、基本的な機能だけを残しましたが、結果は同じでした
  • ドミネーター ツリーでは、ルート クラスはandroid.graphics.Bitmap

誰でもこれが何であるかを知っていbyte[]ますか?それを解放するために何かをする必要がありますか?

どんな助けでも大歓迎です!

0 投票する
2 に答える
1987 参照

android - match_parent に設定されたレイアウトが幅 0 を表示するのはなぜですか

次のコードがあります。

私を混乱させているのは、なぜ がLAYOUT WIDTH0 なのかということです。XML では、レイアウトの幅を にmatch_parent、高さをに設定していますwrap_content

Bitmap以下でデコードし、幅fill_parentの上のレイアウトを埋めるにはどうすればよいですか? LayoutParams を使用しますか?

XML コードは次のとおりです。

私が達成しようとしているのは、リーマン用語で、レイアウトを取得して背景画像で塗りつぶし、ピクセルを使用して X 座標と Y 座標を取得することです。

0 投票する
0 に答える
295 参照

java - LibGdx イメージを受け入れ可能な Android イメージ形式に変換する

タイプcom.badlogic.gdx.scenes.scene2d.ui.Imageの Java LibGdx イメージをタイプ「android.graphics.Bitmap」のイメージに変換する必要があります。Android ACTION_SEND インテントを使用してこの画像を共有したいので、これが必要です。
LibGdx イメージを Android ビットマップまたは Java BufferedImage に変換する方法はありますか?

0 投票する
1 に答える
2169 参照

android - API 23 でアプリを起動するとメモリ不足になる

API 23 の Galaxy S3 でアプリのテストを開始すると、少しがっかりします。スプラッシュ スクリーンを開始すると、メモリ不足エラーが発生します。うわー。

私のアプリは、API 10 から API 18 でうまく動作します。Splashscreen アクティビティには、4 つのアイコンと背景画像 (1900*1200px ~ 400kb) があります。メモリ不足の問題なしで私のアプリを実行するアイデアはありますか?

0 投票する
1 に答える
478 参照

android - 別の画像の背後にある画像の表示部分のみをトリミングする

私たちに見える画像の部分を取得したい。最初の画像の上に別の画像があります。その画像から、最初の画像の一部が見えます。そして、私はその部分だけが欲しいです。そのサンプルと、私が期待している最終出力をお見せします。

トリミングする画像

マスク

ここに画像の説明を入力

ここに画像の説明を入力


楕円形にトリミングする方法を知っています。ただし、ここでは、上記の例で使用されているテンプレートは実際には異なる可能性があるため、テンプレート /mask に従ってその画像をトリミングする必要があります。これどうやってするの。何か案が?

0 投票する
1 に答える
261 参照

android - SDCard 上の大きな画像をカスタム リストビューの小さな画像ビューに読み込みます

私はこのようなカスタムリストビューを持っています. 私のアプリケーションでは、カメラを開いて写真をSDカードにキャプチャできます。キャプチャした写真を小さなイメージビューに表示したい。しかし、私は次のメッセージになりました:ビットマップが大きすぎてテクスチャにアップロードできません (2448x3264、最大 = 2048x204) どうすればそのような画像をイメージビューに表示できますか?

前もって感謝します

編集1:

0 投票する
1 に答える
129 参照

android - Canvas.clipRects を使用して顔の四角形を強調表示する方法は?

複数の面を持つビットマップがあります。顔の四角形が元の色になり、残りの領域が黒くなるように、各面を強調表示したいと思います。

私は次のようなことをしました、

しかし、これは私のイメージ全体を黒くします。原因はなんとなくわかるのですが、解決策が思いつきません。

0 投票する
1 に答える
1765 参照

android - Android: ビットマップ使用時のメモリ不足エラー

アプリでメモリ不足エラーが発生することがよくあります。サーバーからダウンロードしたビットマップに関係していると思います。理由はありますか?