問題タブ [low-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 投票する
2 に答える
245 参照

ipad - iPad アプリケーションのテスト

ここでハードウェアに関するちょっとした質問です。私はクライアント用の iPad アプリケーションを開発していますが、クライアントにテスト用のベータ版を送信すると、私が見ているよりも多くのクラッシュがデバイスで検出されていることがわかりました。これらのクラッシュの多くは「メモリ不足のクラッシュ」であり、私は単に見たり再現したりできません。

ハードウェアの問題であるかどうかを判断できるように、2 つのデバイスにどのような違いがあるのか​​ 疑問に思っています. 何か案は?

0 投票する
7 に答える
13363 参照

android - Android : 低メモリで静的変数 null

いくつかの静的変数を持つアプリケーションがあります。これらの変数は、DataContext という名前の独立したクラスに格納されます。これらの変数は、アプリケーションの開始時に raw ファイルから初期化されます (アプリケーションを拡張する MyApplication の onCreate() で DataContext.initConstant() という名前のメソッドが呼び出されます)。

(編集: initConstant メソッドは、AsyncTask を使用してこのデータをファイルからロードします)。

アプリケーションが一定時間バックグラウンドになったとき、またはアプリケーションが大量のメモリを使用したときに、これらの静的変数が null になります。

  1. どうすれば防ぐことができますか?

  2. そうでない場合、静的変数をどうすればよいですか?

    さまざまなアクティビティで使用するために静的変数に格納されている他のデータがありますが、それらをクリアするかonLowMemory()、MyApplication で null に渡します。

  3. これらのデータが大きすぎてインテントでシリアライズできず、(何らかの理由で) データベースを使用できず、シリアライゼーションによってファイルに保存できない場合、アクティビティ間で一部のデータにアクセスできるようにする最善の方法は何ですか?

0 投票する
6 に答える
5472 参照

embedded - 少ないメモリ使用量でコンウェイのライフ ゲームを効率的に実装するにはどうすればよいですか?

コンウェイのライフ ゲームを実装するための高速でメモリ効率の高い方法を探しています。

制約: 96x128 ボード、利用可能な約 2kB の RAM、および 52MHz のプロセッサ (技術仕様はこちら: http://www.getinpulse.com/featuresを参照)。

各セルをマトリックス (96*128/8=1,536 バイト) の単一ビットとして表す現在の素朴なソリューションは機能しますが、遅すぎます。パフォーマンスを向上させるために使用できるトリックは何ですか?

生きているセルの座標を保存すると (たとえば、この実装ではhttp://dotat.at/prog/life/life.html )、メモリが大量に使用されます。

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

android - Application.onLowMemory() が呼び出されない

独自の Application クラスを作成しました。

デバッグしようとすると、コードは Application.onCreate() で停止しますが、onLowMemory では停止しません。

シナリオをテストするために、他の多くの高メモリ アプリケーションを開きます。

私が見ているのは、デバッグ セッションが (Eclipse で) 終了し、静的変数の一部が null になったことです。これは、プロセスが終了したことを示しています。

デバッグがメソッドのブレークポイントで停止しなかっただけでなく、Log.e(...) 行を配置しましたが、それも表示されません。

メソッドが呼び出されなかった理由について何か考えはありますか?

ありがとう。

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

memory-management - \KernelObjects\LowMemoryCondition & \KernelObjects\MaximumCommitCondition

32 GB の RAM を搭載した 64 ビット バージョンの Windows Server 2008 R2 マシンでサービスとしてアプリケーションを実行しています。

アプリケーション自体は 3.4GB を超える RAM を使用していないようです (疑わしい制限?)

リソースモニターでは、アプリケーションは

サーバーには 27192MB の使用可能なメモリがありますが、

32 ビット OS 用に作成されたアプリケーションに固執しているだけですか?

0 投票する
4 に答える
606 参照

c++ - 低メモリ システムでの c++。標準ライブラリがすべてのメモリを使用しています!

できるだけ多くの記憶を削る必要があります。STL で標準の C++ を使用しています。このプログラムは (まだ) たいしたことはしておらず、[によるとtop] 960Kb も必要です! 実行可能ファイルのサイズはわずか 64KB です。

コードの長さは 3000 行です。明らかに投稿するつもりはありません。問題は私のコードではなく、システム ライブラリにあると思います。

単一の main() 関数 (すべてのコードが含まれていますが、使用していません)は 732Kb の RAM を使用します!
簡単なコード:

私のコードにはグローバル変数がありません(私から隠されているライブラリの変数を除く)。

標準ライブラリ libstdc++ (STL)、GNU libc を使用しています。また、単一の BSD ソケットと libev、および非標準の STL ロープ クラス。

実行できるメモリ プロファイラーはありますか?

プラットフォーム: Linux 2.6.18-32、32 ビット プロセッサ、合計 16MB のシステム RAM、利用可能なスワップなし
コンパイラ: GCC 4
標準ライブラリ: GCC の libstdc++
コンパイラ オプション: -Os (デバッグ シンボルなし)

テンプレートを多用しているわけではありません。コンテナとイテレータだけです。しかし、私は SGI STL ロープ クラスを多用しています。

テスト環境は、128MB RAM、Pentium III 667 Mhz、CentOS 5.5、エミュレーションなしの Linux を実行する基本サーバーです。

更新: ライブラリ自体 (コード サイズ) が問題を引き起こしているかどうか疑問に思っています。共有ライブラリを RAM にロードする必要はありませんか?

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

ios - iPhone のメモリ不足が原因でコア データ モデルの更新がクラッシュする

私の iPhone アプリのアップデートには、コア データ ストア モデルの新しいバージョンが含まれています。カスタム NSEntityMigrationPolicy を使用しています。ただし、古い iDevice に大規模なコア データ ストアがある (つまり、メモリが少ない) と、メモリが少ないために更新の途中でクラッシュします。この問題に対処するための戦略は何ですか?

0 投票する
6 に答える
14349 参照

ios - メモリマップトファイルと低メモリシナリオ

iOSプラットフォームは、メモリ不足のシナリオでメモリマップトファイルをどのように処理しますか?低メモリシナリオとは、OSUIApplicationDidReceiveMemoryWarningNotificationがアプリケーション内のすべてのオブザーバーに通知を送信するときを意味します。

私たちのファイルは、を使用してメモリにマッピングされます+[NSData dataWithContentsOfMappedFile:]

マップされたファイルは、仮想メモリ技術を使用して、実際に必要になるまでファイルのページをメモリにコピーしないようにします。

これは、ページが使用されなくなったときにOSがページのマップを解除することを意味しますか?ページを使用されなくなったものとしてマークすることは可能ですか?シナリオが変更された場合、このデータは読み取り専用です。mmap()直接使用する場合はどうでしょうか。これは望ましいですか?

0 投票する
9 に答える
6334 参照

language-agnostic - シミュレートされた低メモリ、低速 CPU 環境でアプリケーションを実行する

非常に古いクライアント マシンで失敗しているように見えるため、この方法でアプリケーションのストレス テストを行いたいと考えています。

最初は QEmu について少し読んで、ハードウェア エミュレーションについて考えましたが、それは遠回りのようです。スーパーユーザーに尋ねましたが、(まだ) あまりフィードバックがありませんでした。

だから私はあなたたちに目を向けています... どのようにこの種のテストをしますか?

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

android - メモリ不足のシナリオですべてのアプリケーションをブロックする方法

電話の内部メモリが総内部メモリの 10% 未満になると、メモリ不足のダイアログが表示され、ユーザーがアプリケーション アクティビティを管理してメモリを解放するようにコードを記述しました。ただし、ユーザーが解放していない場合、ユーザーは残りの内部メモリを埋めることができます。メモリ条件 (総メモリ不足の 10% 以上) を満たすまで、他のすべてのアプリケーションをブロックするにはどうすればよいですか。

ありがとうございます。