問題タブ [nscache]
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.
python - サーバーからいくつのオブジェクトを取得する必要があり、NSCache に保存できるオブジェクトはいくつですか?
私のサービスは一度に最大 500 個のオブジェクトを返します。データ量が 60 個のオブジェクトを超えると iPhone アプリケーションがクラッシュすることに気付きました。この問題を回避するために、上位 40 件の結果のみを返すクエリを実行していますが、データ全体を返すよりも遅いです。
- ベスト プラクティスとは何ですか? また、より多くのオブジェクトを取得するにはどうすればよいですか?
- iPhoneのアプリケーションに割り当てられるメモリの最大量は何ですか?それを拡張する方法はありますか?
- サーバーからいくつのオブジェクトを取得する必要がありますか
- NSCache にはいくつ保存できますか?
iphone - アプリがバックグラウンドになったときに Png がパージされる
AFNetworking を使用して URL から画像を保存しています。NSCache を使用して、要求された URL から画像をキャッシュします。アプリがバックグラウンドになり、電話がロックされると、png は消去されますが、jpeg は消去されません。NSCache に自動有効期限ポリシーがあることを読みました。
この奇妙な問題を解決するのを手伝ってください。
ios - SDWebImage はメモリ キャッシュとディスク キャッシュの両方を使用しますか (必要な場合)? そうでない場合、これをどのように処理すればよいですか?
私のアプリは多くの画像のダウンロードを扱っているため、ユーザーにとってできるだけ速くしたいと考えています。できれば、イメージをダウンロードしたら、再度ダウンロードする必要がないようにする必要があります。
私の最初の戦略は、すべてを に保存することでしたUIImages
がNSArray
、最終的には大量のメモリ/RAM を消費します。
次にNSCache
、メモリ使用量が高くなりすぎた場合にアイテムを自動的に削除する を使用することを考えました。これに関する私の問題は、アイテムが削除されると、次に必要になったときに画像を再ダウンロードする必要があることです。
NSCache
私の最善の解決策は、それらをスタイルソリューションNSCache
に保存し、アイテムを削除するときにディスクに保存することです(そして、もっと良いものが足りない場合は教えてください) 。したがって、次回必要になったときに再ダウンロードする必要はなく、キャッシュによって削除されたとしても、サーバーから再度取得するよりもディスクから取得する方が高速です。
SDWebImageのようなライブラリ(画像が複数回ダウンロードされないようにキャッシュを使用していると理解しています) がそのようなソリューションを使用するのか、それともNSCache
、メモリ使用量が高すぎる場合に画像が単純に消えてしまう場所に似ているのか、興味があります。再ダウンロードが必要になります。(ただし、アプリの実行が終了したら、それ以上ディスクに残したくありません。)
私はこれを完全に間違って見ていますか?まったく違うことをするべきですか?
ios - tableviewcontrollerに画像をキャッシュする
TableViewcontroller のキャッシュに画像を保存したいと思います。以下のコードを書きましたが、cacheImage は常に nil です。
Joe のアドバイスとして次のコードを使用しましたが、それでも cell.imageview.image は常に nil です。
generics - Swift: ジェネリックと AnyObject へのダウンキャスト
次のような状況があります:(プレイグラウンドにコピーするだけです)
これにより、「setObject のオーバーロードが見つかりませんでした ...」というエラーが発生します。
問題は addUID の aObj のタイプであることはわかっていますが、コンパイラにとっては明確ではありません。
途中で言うだろう
ただし、この場合、 a は一般的なトピックを完全にスキップできます。aObj を AnyObject や NSObject などにダウンキャストしようとしましたが、うまくいきませんでした。
何か案は?
汎用バージョンのキャッシュがあればいいのですが:)
アップデート:
解決策は、プロトコルに @objc 属性を追加することです。したがって、プロトコルはクラスに対してのみ使用できますが、これはプロトコルの一般的な制限につながります。クラスmanageUIDのローカルソリューションが好きです。
ios - NSDiscardableContent または NSMutableDictionary を使用した NSCache?
現在、NSCache
アプリのデータを保存するために使用しています。そのデータはいつでもサーバーから再度取得できるため、最終的にデータを紛失しても問題ありませんNSCache
。
問題は、アプリがバックグラウンドNSCache
でデータを削除するたびに発生することです。メモリの改善に本当に必要な場合、またはオブジェクトが限界に達した場合を除き、データを削除したくありません。
NSDictionary
メモリを大量に使用している場合、アプリをバックグラウンドで切り替えて強制終了したくありません。必要に応じて、またはメモリ警告が表示されたときに、サブクラスNSDictionary
化してそれ自体を明確にすることができますが、これは大変な作業になると思います。
NSCache
私は周りを読んで、プロトコルで使用するいくつかの提案を見つけましたNSDiscardableContent
が、実装のサンプルコードは実際には見つかりませんでした. これが私の場合の最善のアプローチであるかどうかさえわかりません。
助言がありますか?
アップデート:
github でこのコードを見つけたので、期待どおりの結果が得られました。したがって、それは使用NSDiscardableContent
されず、アプリがバックグラウンド状態になった場合にオブジェクトを削除しないということが起こっていることを特定できません。- (void)cleanUp
彼のメソッドはオブジェクトを削除するたびに呼び出されNSCache
、オブジェクトが制限に達したか、メモリ警告を受け取った場合にのみ続行すると思います。
とにかく、私はサードパーティのコードを使用するのが好きではないので、誰かがこの動作を模倣するのを手伝ってくれるなら、大きな助けになるでしょう.
ios - NSOperatoinQueue を使用して UIScrollView にリモート サーバー イメージをロードする
UIScrollView
with
に「イメージ」(リモートサーバー内)をロードしたいNSOperatoinQueue
。通常でロードするとNSURL
、NSData
またはNSMutableURLRequest
すべての画像をロードするのに時間がかかりすぎるためです。その後、それらの画像を に示しますUIButton
。これが私のコードです:
上記のコードの何が問題なのか、誰か教えてもらえますか? リモート サーバーからのデータの解析または取得に問題はありません。で確認しNSLog
ます。NSOperationQueue
適切に管理できない問題があると思います。前もって感謝します。さらに情報が必要な場合は、ここに添付します。良い1日を。
ios - oneViewController から anotherViewController に渡される NSCache UIImage データ
最初にシナリオを説明しましょう。その中にand があり、 asUIScrollView
をいくつか追加します。これらのボタンでは、(リモート サーバーから) いくつかの画像を読み込んでいます。ですべての画像を読み込んで保存します。読み込みに時間がかかるため、 this を使用したかったので、 otherでリモートサーバーから再度読み込む必要がないようにしました。だから、私は別の人に を渡します。それでも、それが可能かどうかはわかりませんか?それについて教えてください。以下にコードを示しますので、ご覧ください。UIButton
subView
NSMutableURLRequest
NSCache
NSCache
ViewController
NSCache
ViewController
Segue
NSCache
よろしくお願いします。良い1日を。
MainViewController.h
:
MainViewController.m
:
SecondViewController.h
:
SecondViewController.m
:
追加:
私
は再びSecondViewController
作成し、私がそれを求めたとき、何の価値も得られませんでした。ここで何かが欠けていると思います。または適切な方法に従っていない。NSCache *imageCache;
NSlog
ios - NSCache インスタンスの値が設定されているかどうかを確認する方法
NSCache
のようなインスタンスがあります。NSCache *imageCache;
基本的には、リモートの「イメージ」値を異なる で保持するために使用されます"@keys"
。私は最初にグローバルクラスにalloc
&いて、次のように条件を設定します:init
NSCache
if else
毎回画像を解析する必要がないように、すべて#import
の「グローバルクラス」を使用します。しかし、問題は、私が他の場所にViewControllers
行くときです。と同じように画像の読み込みに時間がかかるためです。条件が完全に機能していないか、設定されているかどうかを確認する適切な方法ではないと思います。誰がそれの何が悪いのか教えてもらえますか? もう 1 つ、グローバル変数から使用されます。
前もって感謝します。
良い一日を過ごしてください。ViewControllers
NSCache
alloc
init
1stVC
if else
NSCache
imageCache
添加:
UIButtons
これは、 inUIScrollView
を as としてロードする方法subView
です。これはUIViewClass
、「EveryViewController」に追加したものです。行subView
を見てくださいif (cachedImage)
。それは正常に動作します。しかし、(iADImageCache)が設定されているかどうかを確認したい場合、NSCache
設定されていないことがわかります。しかし、どれを設定する必要があります。この状況では、どうすればすべての名前iADImageCache
を異なる@"Key"
名前で確認できますか? 再度、感謝します。