問題タブ [retained-in-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 に答える
5126 参照

cocoa - AppDelegate RootController.m から、さまざまなクラスからアクセスされている

私の問題は、コントローラー(たまたま私のrootViewController)から別のビューに情報を取得することです。アプリデリゲートを介してアクセスしようとしても、機能させることができませんでした。これを行う方法を見つけましたが、このインターンにより、モーダルビューコントローラー内のビューを実際にデータを表示するという別の問題が発生しました。以下に、appDelegate 情報と、支援が必要な場合に備えて NSMutable Dictionary ソリューション コードの両方を投稿しました。

私はこの問題を自分で解決するために1週間以上試みました. 私の問題は、appDelegate にアクセスする方法でした。そのため、NSDictionary に問題がありました。結局、問題は NSDictionary ではありませんでした。

まず、私がプログラミングをやり過ぎていることに気づき、正しい方向に向けてくれた TechZen に感謝します。

これが私が学んだことです。

appDelegate で変数を割り当てます。

AppDelegate.h

AppDelegate.m

ViewController.m で、変数を appDelegate に割り当てます。これは、tableView 関数の didSelectRowAtIndexPath 内で行いました。

ビューコントローラーで、appDelegate から変数をロードしたいので、次のように設定します。

およびviewController.mファイル内。

.....そして、あなたが今欲しいものにそれを割り当ててください!

これがすべての人に役立つことを願っています。この時点で、そこから NSArray を NSDictionary にドロップできますが、アクセスはキーと値を使用するようになったため、この時点でのアクセスは少し複雑になりますが、もちろん利点があります。私はまだそれを完全にダウンさせることはできず、そのメソッドから離れて、今のところ NSArray を使用するだけです。

以下は、Maker の h および m ファイルのサンプルです。

およびその Maker.m ファイル。

私は本当に多くの時間を費やしたので、これが他の人がこれを理解するのに役立つことを願っています.

カーク

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

sqlite - Sqlite およびその他の組み込みデータベースのインメモリ テーブル機能

頻繁に使用するために一部のデータをメモリ テーブルに保持し、通常のテーブル (ディスク上) に使用頻度の低いデータを保持できる機能を探しています。これは、attach コマンドを使用して sqlite で実現できますが、問題は、2 つのテーブル (メモリ内テーブルと通常のテーブル内) を一緒にクエリする必要がある場合、ユニオンを実行する必要があることです。これは回避策です (ユニオンを避けたい) が、sqlite にこの目的のためのメカニズムが組み込まれているかどうかを知りたいですか? また、組み込みの世界でそのような種類の作業を行うのに sqlite が最適な候補であるかどうかを知ることは素晴らしいことです?? または、そのような場合にうまく機能する市販の組み込みデータベースはありますか。答えを楽しみにしています。

期待してありがとうナディーム

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

ruby-on-rails-3 - Rails3: ビューでメモリ内イメージをレンダリングする

spark_prによって生成されたコントローラーのメモリに png ファイルがある Rails アプリがあります。

app/views/users/show.html.erb である私のビューでこの png ファイルをレンダリングしたいと思います。これには、@user のさまざまな属性を表示する Rails scaffold ジェネレーターによって生成された標準的なものが含まれています。

ビューでこのメモリ内ファイル (@pngfile) をレンダリングするにはどうすればよいですか? 私はファイルを保存したくありませんし、そのファイルの一時的な URL を提供することさえしたくありません。バイナリ blob からレンダリングされたインライン アイコンを含む HTML ページでこれが行われるのを見たので、それが可能であることはわかっています。しかし、これを可能にする Rails ビュー ヘルパーの魔法の呪文を理解できませんでした。

----------- 編集: 詳細情報 --------------------------

このサイトでは、URL を埋め込む方法について詳しく説明しています。フォルダ アイコンのコードは次のようになります。

この正確なコードをビューに埋め込んだところ、Chrome、Firefox、および IE9 で機能しました。

だから私はスパークプロットでこれをやろうとしました。

私の Rails コントローラーでは、次のようにしました。

私の見解では、いくつかの異なるトリックを試しました

2 つ目以外はすべて失敗し、Chrome と Firefox では機能しましたが、IE9 では機能しませんでした。最初のものは機能するはずでしたが、image_tag ヘルパーのコードは、たとえそれが即時データ URL であっても、デフォルトで URL の前に「/images/」を追加します。別のタブで画像を表示しようとして失敗したため、これを知っています。しかし、「/images/」の部分を取り除いたところ、うまくいきました。2番目のものが機能した理由はわかりません。気まぐれでやってみただけです。3 つ目は、文字列の一部が特殊文字のために壊れているように見えたため、失敗しました。4 つ目で生の文字列を使用してみましたが、どちらも機能しませんでした。

この時点で、私は困惑しています。image_tag にモンキー パッチを適用して、データの先頭に何かを追加しないようにしますか: 埋め込み画像の URL、またはビューの例 3 または 4 のように適切にレンダリングされるように、文字列で何かファンキーなことを行いますか?

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

java - Javaで保持されている文字列のヒープサイズ

これは私たちが理解するのに苦労した質問です。テキストで説明するのは難しいですが、要点を理解していただければ幸いです。

文字列の実際の内容が内部char配列で囲まれていることを理解しています。通常、文字列の保持されるヒープサイズには、40バイトと文字配列のサイズが含まれます。これはここで説明されています。サブ文字列を呼び出す場合、文字配列は元の文字列への参照を保持するため、文字配列の保持サイズは文字列自体よりもはるかに大きくなる可能性があります。

ただし、YourkitまたはMATを使用してメモリ使用量をプロファイリングすると、何か奇妙なことが起こるようです。char配列の保持サイズを参照する文字列には、文字配列の保持サイズは含まれません。

例は次のとおりです(半擬似コード):

文字列の保持サイズは、文字配列の保持サイズを含まない24バイトとして定義されます。これは、多くの部分文字列操作のために文字配列への参照が多い場合に意味があります。

この文字列が配列やリストなどのコレクションのタイプに含まれている場合、この配列の保持サイズには、文字配列の保持サイズを含むすべての文字列の保持サイズが含まれます。

次に、次のような状況になります。

したがって、保持されたサイズがどこから来ているのかを理解するために、各配列エントリを調べる必要があります。

繰り返しますが、これは、配列が同じ文字配列への参照を保持するすべての文字列を保持しているため、配列の保持サイズが完全に正しいことで説明できます。

ここで問題が発生します。

上記で説明した配列への参照と、同じ文字列を持つ別の配列を別のオブジェクトに保持します。両方の配列で、文字列は同じ文字配列を参照しています。これは予想されることです-結局のところ、同じ文字列について話しているのです。ただし、この文字配列の保持サイズは、この新しいオブジェクトの両方の配列でカウントされます。言い換えれば、保持されるサイズは2倍のようです。最初の配列を削除しても、2番目の配列は文字配列への参照を保持します。その逆も同様です。これは、Javaが同じ文字配列への2つの別々の参照を保持しているように見えるという点で混乱を引き起こします。どうすればいいの?これはJavaのメモリの問題ですか、それともプロファイラーが情報を表示する方法ですか?

この問題は、アプリケーションの膨大なメモリ使用量を追跡しようとするときに多くの頭痛の種を引き起こしました。

繰り返しになりますが、誰かが質問を理解して説明できるようになることを願っています。

ご協力いただきありがとうございます

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

objective-c - ビューコントローラを切り替えるときにUIDatePickerとUITextFieldの値を保持する方法は?

私は2つのビューコントローラーを持っています。View Controller#2にはとがUIDatePickerありUITextFieldます。

View Controller#1に戻ってからView Controller#2に戻ると、UIDatePickerは以前に選択した日付を失い、UITextFieldは空白になります。

このように初期化されました:

PushSegueを使用して2番目のViewControllerにアクセスし、次を使用して戻ってきました。

UIDatePickerの日付とUITextFieldの値を「保存」して、そのView Controllerに戻ったときに常に存在するようにするにはどうすればよいですか?

私は意見、仮説、提案を検索して見つけましたが、解決策はありません。

ありがとうございました。

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

ios - これにより、ブロック保持サイクルがどのように防止されますか?

ここでブロック保持サイクルを防ぐための解決策を見ました

しかし、なぜ、またはどのように機能するのかについて頭を悩ますのに苦労しています。

この例では、弱い自己参照が作成され、実行されます。これがどのようにサイクルを壊すかがわかります。ただし、ブロック内で強い参照が作成されます。これは、最初に防止しようとしていたリテイン サイクルを再現するのではないでしょうか?

たとえば、self が 0x123 の場合、weakself も 0x123 を指しています。次に、strongSelf はブロック内で 0x123 に設定されます。
これは保持サイクルになりませんか? (self は block への強い参照を持ち、strongSelf は self への強い参照を持ちます)

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

android - OnStop() ですべてのデータをリサイクルし、保持フラグメントを使用することは可能ですか?

1) アクティビティの OnStop メソッドですべてのビットマップとデータをリサイクルすることは、良い戦術と考えられています。

2) 構成変更のたびにデータを再作成することを避けるために、リテーナー Fragment を使用することも良い戦術と考えられています。しかし、これら2つを組み合わせる方法がわかりませんか?

フラグメントを使用して一連のビットマップをロードするとしましょう... OnCreate で、そのフラグメントが null であるかどうかを確認して、データを取得するか、新しいフラグメントをインスタンス化してそれらを作成します。OnStop() ですべてのビットマップをリサイクルすると、すべてのデータがリサイクルされるため、構成の変更時に何も取得されなくなります。

だから....これら2つの戦術を組み合わせる方法はありません。私が間違っている?そうでない場合、どちらを使用するのが最適ですか?

私の場合は、SDカードフォルダーから画像をロードすることです。写真は 1 枚だけかもしれませんし、500 枚かもしれません...そして、写真を表示するだけが私のアプリのすべてではないので、このアクティビティの後、他のアクティビティによってメモリが必要になる可能性があります。

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

swift - takeUnretainedValue と takeRetainedValue の違いは何ですか?

takeUnretainedValueとはどう違いtakeRetainedValueますか?Appleのドキュメントに基づく:

これらのメソッドはどちらも、オブジェクトのラップされていない元の型を返します。呼び出している API が保持されていないオブジェクトまたは保持されたオブジェクトを返すかどうかに基づいて、使用するメソッドを選択します。

しかし、管理されていないオブジェクトが保持されていないオブジェクトなのか保持されていないオブジェクトなのかは、どうすればわかりますか? たとえば、フレームワークのメソッドABAddressBookCreateWithOptions:AddressBook管理されていないオブジェクトを返しますが、ABAddressBook一部のチュートリアルではこれを保持オブジェクトと見なしています。を使用するALAssetと、メソッドthumbnailは管理されていないオブジェクトCGImageを返します。一部のチュートリアルでは、これを保持されていないオブジェクトと見なします。

よろしくお願いします。

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

node.js - ノード js. メモリリークはどこにありますか?

スナップショットでメモリ リークを見つけようとしています。 スナップショット 1 スナップショット 2

配列が成長していることがわかりますが、内部にリークは見つかりません。

手伝ってくれてありがとう。