問題タブ [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.
ios - iPhone 5 で iOS アプリがクラッシュする
私はIOSアプリを書いています。これには、JSON 形式の画像とテキストを含む大量のデータのダウンロードが含まれます。NSOperation Queue を使用して、ダウンロード プロセスをシーケンシャルにしています。iPhone4 と iPhone4s ではアプリ全体が正常に動作しますが、iPhone 5 ではデータベースにデータを挿入するときにアプリがクラッシュします。約 350 アイテムを返す API 呼び出しがあります。これらのレコードをデータベースに挿入すると、アプリがクラッシュします。
デバッグ中にクラッシュ ログが取得されません。アプリは単に終了します。ただし、オーガナイザー内のデバイス ログからは、メモリの警告が表示されます。MyAppは私のアプリケーションの名前です。
デバイスコンソール内でこれを見ることができます
私を混乱させるのは、これが iPhone5 でのみ発生することです。すべてのデバイスは IOS 7.0.4 で動作します。
iPhone 5 は以前のモデルに比べて少ないメモリを割り当てていますか? NSZoombies を追加することはできません。
ここで何がうまくいかないのですか?
ありがとう
memory-management - カーネル管理メモリとは何ですか?どのようにメモリを削減できますか?
Linuxでのメモリ管理とメモリ使用の初心者として。この質問は非常に些細なことかもしれません。まだここで私はいくつかの疑問があります。間違っている場合は提案してください。
cat /proc/meminfo
どのリストからメモリ使用量と可用性。
これから、私は合計利用可能なRAM、空きRAM、およびシステムの多くを知ることができます。これから、カーネル管理メモリを導き出すことができます。
Kernel Managed = MemTotal - (MemFree + Bufferes + Cached + AnonPages)
meminfo i hv から値を下回っているとします。
カーネル管理 = 384.26M -(250.43M+ 1.73M+ 43.71M+71M)=17.4M
もしkernel managed memory=17.4MB
。
1)このカーネル管理メモリとは正確には何を意味しますか? カーネルがこのメモリをどのように管理しているか?
2) このメモリを 17MB から 12MB またはそれ以下に減らすことは可能ですか?
node.js - メモリ不足を認識する NodeJS インメモリ キャッシュ
私はJavaの世界から来ており、(ローカル)インメモリキャッシュの実装がたくさんあります。さらに、Java の世界にはSoftReferenceとWeakReferenceがあり、定義上、キャッシュの実装に理想的です。
JavaScript には似たようなものがないことを知っているので、「メモリ不足」の場合にキャッシュされたオブジェクト (すべて) を削除/解放する何らかのキャッシュ機能を持つことができるのではないかと考えています。これまでのところ、私はlru-cacheモジュールについて知っていますが、その実装はオブジェクトをいくつかの数/サイズまで保持します。これは素晴らしいことですが、十分ではありません。当然のことながら、十分なメモリがない場合、キャッシュからオブジェクトを解放することを期待するからです。 .
プロセスのメモリが不足しているときに、システムから NodeJS でイベントを取得することさえ可能ですか?
または、次のようなイベントを発生させるライブラリもあります。
これまでのところ、npm memwatchとnpm 使用法モジュールを見つけましたが、それらすべてを組み合わせることができませんでした。
mysql - Linux で mysqld_safe を起動できない
mysql バイナリをダウンロードしました。ここの手順に従ってインストールしようとしています。コマンドを実行しようとするとbin/mysqld_safe --user=mysql &
、次の出力が得られます。
40211 19:04:56 mysqld_safe '/usr/local/mysql/data/irpowerweb.err' へのログ記録。 140211 19:04:56
mysqld_safe /usr/local/mysql/data からのデータベースで mysqld デーモンを開始します
エラーログの内容は次のとおりです。
ここにありmy.cnf
ます:
mysqlをw / eの方法で実行したいだけです。を使用してパッケージをインストールし、yum install mysql-server
rpm パッケージをダウンロードしようとしましたが、開始できませんでした。私は単純な tar パッケージに落ち着き、上記のリンクをたどり始めましたが、再び開始できませんでした。
エラー状態なので、Cannot allocate memory for the buffer pool
メモリを 64m (デフォルトは 128m) に減らしてみましたが、うまくいきませんでした。私はこれの初心者です。たくさんの検索を行ってきましたが、これを修正する方法がわかりませんでした。
PSそれが役立つ場合、sshを使用してメモリが少ないサーバー(スワップなしで512MBのメモリ)に接続していますが、それはレッドハットLinuxだと思います。
android - メモリ不足でアクティビティが強制終了された後に再作成されたフラグメント
私は内側に を持っActivity
ています。ViewPager
作成されたアクティビティasyncTask
が実行され、タスクが終了するFragment
と、結果データを使用して が作成されますFragment
。
が作成された後Fragment
、ホーム画面に戻り、別のアプリなどを開いて、メモリ不足の状況を作成します。私Activity
はメモリ不足のために殺されました。
タスクマネージャーを開き、アプリをもう一度クリックします。
Android は、すべてを画面に戻そうとします。すべてActivity
が強制終了されるため、データも失われますが、データがなく、アプリがクラッシュしてもフラグメントを再作成しようとします。
私は何ができますか?...私には2つの解決策があります(少なくとも理論的な解決策)
再開時にアクティビティが再起動しないようにします (どうすればそれを行うことができますか????)
フラグメント作成ビューが存在しない限り、データを使用しないようにする
さて、私は2番目の解決策を実装しました。したがって、「データが存在しません」がハンドヘルドであるため、アプリは最初はクラッシュしません。しかし、私は ViewPager もフラグメントから切断されていることに気付きました。そのため、アクティビティからフラグメントに戻ることができません。
android - Android: システムがアプリ プロセスを再起動したときにアプリケーション クラスで初期化されたオブジェクトを保存する方法
私のアプリケーション クラスには、ランチャー画面から起動されるすべてのアクティビティで使用されるオブジェクトがあります。問題は、メモリが少ない場合、システムが自動的にアプリケーションを再起動することです ([設定] -> [アプリケーション] -> [実行中のプロセス] タブで確認できます)。再起動しているため (アプリがバックグラウンドになると発生します)、全体で使用しているオブジェクトが null にリセットされています。
私のシナリオ:
私の Launcher アクティビティでは、DB にアクセスしてスレッドで値を取得し、Setter と Getter を使用して Application クラスで Object 値を設定しています。
それを設定した後、私はそこから 4 つのアクティビティに移動しています A(ランチャー) -> B -> C -> D
現在、バックグラウンドに移行しており、デバイスが低メモリで実行されています。この時点で (つまり、バックグラウンドで) プロセスが強制終了され、再起動されます。
再起動時にオブジェクトが null にリセットされます。最近のリストまたはランチャーからアプリを起動すると、上記の場合はバックグラウンドに移動した場所から最後のアクティビティが起動されますが、アクティビティ D にアクセスしている場所です。 Null ポインターをスローするオブジェクト。
私の質問は、
- システムがオブジェクトを強制終了したときにオブジェクトをアプリケーション クラス レベルで保存する方法はありますか (Activity onSaveInstanceState で行うように)。
ios7 - NSURLSession を使用してバックグラウンドで複数のファイルをダウンロードする際のメモリ不足の処理
NSURLSession を使用してバックグラウンドで 50 ~ 60 MB [約 40 ~ 50] のビデオ ファイルをダウンロードしています。時々、メモリ不足のメッセージが表示され、アプリがクラッシュし、どのアプリケーションにもアクセスできません。この問題を処理する方法はありますか?