問題タブ [android-memory]

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 に答える
1185 参照

android - Android 内蔵ストレージ メモリから Jpeg を読み込む

ビットマップ イメージを Android の内部ストレージに保存しました。ここで、/myphoto.jpg であるこの画像を取得し、shareIntent を使用して共有したいと考えています。内部ストレージ メモリから myphoto.jpg を読み取る方法を教えてください。理想的には、ファイル パスを取得することを期待しています。

0 投票する
3 に答える
8138 参照

android - Android エラー: java.lang.OutOfMemoryError: ビットマップ サイズが VM の予算を超えています

このエラーに関してstackoverflowで多くの質問に出くわしましたが、私のシナリオの適切な解決策を説明しているものはありませんでした。

私のAndroidアプリケーションでは、ユーザーがボタンをクリックしてギャラリーを開き、画像を選択できるようにする必要があります。そして、その特定の選択した画像を私のレイアウト(UI)のImageViewにロードする必要があります。

これを行うと、かなり問題ありません。以下は、これを達成するために使用しているコードです。

[アップロード] ボタンでクリック ->

そして onActivityResult ->

ただし、ユーザーがより大きなサイズ ( 2MBなど) の画像を選択すると、アプリケーションは次のエラーで終了します。しかし、通常の (KB レベルの) 画像では問題なく、この問題 (このエラー状況を処理するには) に対して何ができるか疑問に思っています。ありがとう...

エラー ->

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

android - フラグメント削除後の Android リサイクル リソース

その場で特定のフラグメントを追加および削除しています。私の質問は、次のようなフラグメントを削除するかどうかです:

Android がこのフラグメントとそのすべてのリソース (特に画像) をメモリから確実に削除するにはどうすればよいですか? 私にとっては、フラグメント自体がレイアウトから削除されても、親アクティビティが終了するまでメモリに残ります。

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

android - Android Tabhost - 各タブで同じビュー

タブホストを含​​むアクティビティがあります。

実行時に、私のアプリはデータベースに接続し、従業員情報を取得しています。コンテンツが同じ方法で表示されるが、データが異なる従業員ごとのタブが必要です。

従業員情報(テキストビュー、画像など)に使用できるxmlビューがあります。データベースから新しいデータを受け取ったら、従業員ごとに次のことを行います。

  1. タブホストに新しいタブを追加する
  2. 「従業員」ビューを膨らませます。
  3. textview テキストを従業員に対応する値に設定します。
  4. 「従業員」ビューから TabSpec を作成します。
  5. tabspec を新しいタブとして追加します。

現在、データに変更があるたびにすべてのタブをクリアして読み込んでおり、ビットマップが原因で VM メモリが不足しています。これはこれを行うための最良の方法ですか、それともより良い方法がありますか?

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

android - レジューム タイム メモリの最適化

私はいくつかの事実に基づいてこの質問を書いています。ガベージ コレクター (GC) を明示的に制御することはできません。そのため、一時停止したアクティビティから GC がいつメモリをフェッチするかを確認する方法もありません。

私が話しているテスト ケース: onCreate メソッドで HashMaps と ArrayLists を含む多くのオブジェクトを割り当てました。それらのいくつかは、ビットマップの参照を格納するために使用されます。現在、ユーザーはホームボタンを押してアクティビティを一時停止しています。他のタスクを長時間実行した後、同じタスクを再開するのを忘れています。そして今、一時停止していたアクティビティに戻ります。

問題は次のとおりです:1) この場合、メモリ GC が最初に取得するものをふりをしたり、想定したりする可能性はありますか?

2) gc はアクティビティ全体をフェッチしますか、それともアイドル オブジェクトと null オブジェクトの一部のみをフェッチしますか?

3) 5 時間から 6 時間ほど経過した後、ユーザーがアクティビティを再開したとします。

4) オブジェクトの一部がガベージ コレクションされている場合は、onResume でそれらを null にチェックするだけで、それらにさらにアクセスするかどうかを判断できます。

5) このような状況でヌル ポインター アクセスを処理する方法。

私はすべての提案を聞きたいです。ご覧いただきありがとうございます。ハッピーコーディング。

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

android - インターネットが利用できない場合にリスト ビューで画像とテキストを再利用するには

1 つのアクティビティで、画像とテキストを含む 5 つの水平 ListView を作成しました。画像コンセプトの遅延読み込みを使用すると、正常に動作しています。オフラインの場合、リストは空白、つまりデータが表示されません。オフラインのときに以前のセッションデータ(画像とテキスト)が表示されるように、メモリキャッシュの概念を実装する必要があります。

oncreate: Asynctask を呼び出しています。asynctask の doinbackground メソッドでは、画像とテキストを含む Web サービスを使用しており、それらのデータをアダプターに渡しています。そして実行後では、アダプタを Listview に設定しています。

アダプター クラス: getview メソッドでは、テキストを設定し、遅延読み込みを使用して画像を読み込みます。

これを取り除くのを手伝ってください。前もって感謝します