2016-07-08 11 views
1

私は、反応したネイティブの技術を使用してモバイルアプリケーションに関する新しいプロジェクトを持っています。還元状態のサイズを小さくするための最良の方法は何ですか?

私はreduxを使ってリモートサーバーのAPIからデータ全体を管理することを考えています。私たちの製品は、より多くのビジネスデータをモバイルアプリに表示する必要があります。

私の質問は:redux状態は私たちのビジネスデータを格納するため、ListViewコンポーネントのようなモバイルデバイス上でより多くのメモリが必要になります。私はメモリ使用量を減らしたい場合、どのようにこの問題を解決できますか?

+2

これは実際の問題ではなく、想像上の問題です。虚偽の問題は想像力によって解決されます。ただあなたの息を止めて、それが解決されたと想像してください。 – zerkms

+0

情報がまったく使われていない場合、どうしてあなたの状態に保つのですか? – xiaofan2406

+1

@zerkmsそれは仮想的な問題ではありません。仮説的な問題が具体的な問題より先に重大に議論されることに同意しますか?実装の努力をする前に、このアプローチの背後にある一般的な考え方が有効かどうかを判断できますか?私は、この質問がよりよく策定されるかもしれないが、同意する。 :) –

答えて

6

私はあなたのバックグラウンドの説明に基づいて、あなたのレキシックスストアのサイズに関する根本的な懸念と、クライアントのすべての回答を私の答えに保存する方法を選択します。ここでデータストアのサイズを実際に縮小する方法について具体的には言及していません(唯一の答えは「あまり保存しない」)。

これは単に総盗品であり、あなたはいくつかの並べ替えが必要な場合は、言われたことなどの圧縮、データの重複、単にメモリ内にある対AsyncStorageで何かを格納違い、のようなもの

を無視メモリ/ストレージが問題になるかどうかをチェックし、APIが提供するレコードデータの代表的なチャンクを取り出し、それをJSON文字列としてシリアル化し、それがどれほど大きいか把握します。

たとえば、このexample twitter responseは約8.5KBで、空白は削除されています。簡単にするために、個々のレコードごとに10KBとしましょう。

今、いくつのレコードをダウンさせる予定ですか? 10? 100? 1000?このタイプの1000レコードを考えてみましょう。これは10,000KBまたは約10MBです。

ここでの構成では、10 MBはアプリケーションで使用するメモリ/ストレージのわずかな量(編集:あなたが心配している特定の制約に応じて、そうでないかもしれない)です。

特定のユースケースに似た手順を実行し、サポートする必要があるデバイスのために保存するデータの量が問題になるかどうかを確認する必要があります。

さらに関連性の高いことは、大量のデータを1つのスレッドで大量に処理して、データ操作、結合/マージなどの作業が必要になる場合のパフォーマンスへの影響です。

Reduxは、実際にはそれほどあなた自身のためにはあまり効果がない小さなライブラリです。この対価は一般的なものであり、あなた自身のアプリケーションに完全にユニークであり、具体的に答えることはできません。

+0

これは、10Mbのデータをホストするという仮説的な問題です。それは確かに*問題*です。 (+1しかし: - P) – zerkms

+1

真剣に:あなたの答えは私のポイントと完全にぴったり合っています。だから...-) – zerkms

+0

@zerkms yup。我々は合意に「激しく」いる。 :) –

関連する問題