私はしばらくの間、アプリケーションを使っていますが、初めてデバイスで起動するようです(最初は、それは遅れています)。しかし、2回目はバターのように滑らかです。私はこれがシステムが最初のセッションの後にRAMの割り当てを適応させるためだと思うし、私は自分のアプリケーションに割り当てるRAMの量を決定する責任を何に置き換えることができるのだろうか?かなりイライラしていて、それが悪化しているようです。これを行う方法がない場合は、アプリケーションを初めて起動するときにRAMの大量のタスクを開始できますか?スプラッシュスクリーンのようなもののように。ありがとう。アンドロイドデバイスがアプリケーションに割り当てるRAMを増やすことはできますか?
答えて
私は、システムがあなたの最初のセッションの後にRAMの割り当てを適応させるため、これはAndroidが私の知る限り、これを実行しません
である疑いがあります。すべてのアプリプロセスは、同じ状態で開始します:接合子プロセスのフォークとして。
私は自分のアプリに割り当てるRAMの量を決定するのは何でもできますか?
何らかの理由で心配しているような初期割り当ての点ではありません。
私は初めてアプリケーションを起動するときに何かRAMの重いタスクがありますか?
一般的ではありません。存在するものは、あなたのアプリに固有のものです。
あなたは正確あなたのどこに問題があると判断するならばそれは役立つだろう:
をあなたは
StrictMode
を有効にして、不適切なものを行うときに叫ぶように構成され、ディスクI/Oのようにしていることを確認します遅れがloggiことを考えると、あなたのコード内で発生した場合、メインアプリケーションスレッドで
使用ロギングは、絞り込んしますなど、あなたがその仕事を削減することを試みることができるように、コードの行は、遅い何であるかを具体的に決定し、バックグラウンドスレッドに移動するトレースNG、使用方法、まれ
RAM上
そしてそう物事を遅らせる。何かがあれば、RAMは高速化します(キャッシングなど)。 RAMに関する私たちの問題は、RAMが不足してクラッシュすることに起因します。
コードにいくつかの欠陥が、私はこのメモリリークが発生した場所、またhttps://developer.android.com/studio/write/lint.html(アンドロイドスタジオに統合)を使用し、それはあなたが表示されます、あなたが検出し、https://developer.android.com/studio/profile/am-memory.html(アンドロイドスタジオに統合)を使用するようにお勧めウォルドので、ほとんどの場合、これはありますあなたのコードで最も一般的なエラー(存在する場合)。
- 1. アプリケーションに割り当てられるメモリを増やす
- 2. iPhone - メモリ割り当てがやや増えています
- 3. なぜ私のRAMよりも大きな配列を割り当てることができますか?
- 4. OutOfMemoryExceptionを取得するプログラムにさらにRAMを割り当てることができます
- 5. NodeJS 4.4が割り当てられたメモリを増やす
- 6. Linuxカーネルでソケットメモリ割り当てを増やす方法
- 7. jdkに割り当てられたメモリを増やす
- 8. RAMの割り当ては、タスクマネージャのRAM使用量を2倍にします。
- 9. 楽器のオブジェクト割り当てを増やす
- 10. スタックドライバロギングのための割り当て要求を増やす
- 11. TOADのメモリ割り当てを増やす
- 12. Googleスプレッドシートの割り当てを増やす
- 13. JVM - 割り当てるRAMの量
- 14. 再コンパイルせずにさらにRAMを割り当てます。
- 15. Flinkに動的にリソースを割り当てることができますか?
- 16. 割り当てることはできませんまたはUIViewController中にNSArrayを割り当てる
- 17. 特定のクラスやメソッドをラップしてスレッドに割り当てることはできますか?
- 18. 異なるパーセンテージを割り当てることによって値を増やす方法
- 19. UnityでAssetBundleを使用するメモリ割り当てを増やす
- 20. javascriptでクッキーにオブジェクトを割り当てることはできますか?
- 21. javascriptでdocument.getElementByIdを変数に割り当てることはできますか
- 22. offsetHeightをstyle.topに割り当てることはできますか? JavaScriptで
- 23. const参照にintを割り当てることができますか?
- 24. Java、booleanをbooleanに割り当てることができますか?
- 25. メモリ割り当てプロファイリング中にメモリ割り当てが増加し続ける
- 26. 実行時にプレイポイントやゲームオブジェクトにウェイポイントを割り当てることはできますか?
- 27. 「オペレータに割り当てることはできません」エラー
- 28. "名前付き定数に割り当てることができません"(変数の再割り当て)
- 29. RubyODBC SQLHENVを割り当てることができません
- 30. メモリを割り当てることができません
ああ、大丈夫です。私の疑惑の原因は、Android StudioのRAMグラフが限界に達し、ラムの割り当てを増やしたり、ガベージコレクションを行ったりすることだった。 2回目はグラフが常に限界を下回っていたので、私はシステムが適応していると思った。なぜこれが起こっているのかあなたは考えていますか? –
@SimonBergmark:恐らくあなたのプロセスはすでに実行されていました。 Androidは必要に応じてより多くのシステムRAMを割り当てますが、アイドル時にはシステムに戻される未使用のヒープスペースを解放し、その後はほとんどがAndroid 5.0以上になります。ユーザーがアプリを離れると、Androidはプロセスをすぐに終了しません。 Androidスタジオ(メインツールバーの赤い四角)からプロセスを手動で終了し、表示されている内容を確認することができます。 – CommonsWare