uniapp プロジェクトを最適化するにはどうすればよいですか?次の記事では、uniapp プロジェクトの最適化方法と提案をいくつか紹介します。
シナリオ:
たとえば、プロジェクトには同様のものが含まれています。フォーラム ページ: 点のようなアイコンをクリックすると、「いいね!」の数がすぐに 1 になります。これにより、JS レイヤーからビュー レイヤーまでページ レベルですべてのデータの同期がトリガーされ、ページ全体のデータが更新されます。クリックの遅延とラグの原因
##最適化計画:
複雑なページの場合、特定の領域のデータを更新するときに、この領域をコンポーネント化する必要があります。データ更新時にこのコンポーネントのみが更新されます注: app-nvue と h5 にはこの問題はありません。違いの理由は、アプレットは現在コンポーネント差分更新メカニズムのみを提供しており、自動的に更新できないためです。すべてのページの差を計算します。
シナリオ:
ページ内で多数の大きな画像リソースが使用されていると、ページ切り替えの遅延が発生し、システム メモリが増加したり、白い画面がクラッシュしたりする可能性があります。大きなバイナリ ファイルの Base64 化も非常にリソースを大量に消費します #最適化計画:# 使用前に画像を圧縮してください。大きな画像は避け、必要に応じて検討してください。 スプライト画像または SVG。単純なコードで実現できる場合は、画像を使用しないでください。
3. ミニ プログラムと APP 下請け処理ページが多すぎます
この関数は WeChat アプレット、アプリ、Baidu ミニ プログラム、ByteDance ミニ プログラムにのみ有効であり、デフォルトで有効になっています
uView マニュアルにアクセスして構成を確認してください
6. 変数を定義できます。
7. データをバッチでロードしてページ レンダリングを最適化します
ページが初期化されると、ロジック層が一度に大量のデータをビュー層に送信するため、ビュー層は大量のデータをレンダリングします。ノードを一度に実行すると、通信速度の低下やページ切り替えの遅れが発生する可能性があります。
最適化計画:
ページを部分的に更新してページをレンダリングします。たとえば、サーバーが応答を返した場合などです。 100 個のデータ、一度に 50 個ずつバッチでロードでき、次のロードは 500ms 後に実行されます
8. ビュー層とロジック間の頻繁な通信を避けるレイヤー
手ぶれ補正:
スロットル:
トリガー イベントはn秒以内に1回のみ実行され、n秒経過していない場合、再度トリガーされると無効になります11. ページ切り替えアニメーションの最適化## #######シナリオ:##### # ページの初期化時に大量の画像やネイティブコンポーネントの描画、大量のデータ通信が行われるため、新規ページの描画やフォーム入力のアニメーションによるリソースの奪い合いが発生し、ページ切り替えのラグやフレーム落ちが発生します。 . 最適化計画 : 画像や複雑なネイティブコンポーネントのレンダリング、バッチでのデータ通信は100ms~300ms遅延することを推奨一度にレンダリングされるノードの数を減らすため アプリ側のアニメーション効果はカスタマイズ可能ですが、popin/popout のデュアルフォームリンケージ押し出しアニメーション効果はより多くのリソースを消費します。アニメーション中にページ上で時間のかかる js が実行されると、アニメーションがコマ落ちする可能性があります。このとき、右にスライドイン/右にスライドアウトするなど、リソース消費の少ないアニメーション効果を使用できます。 uni.preloadPage により、より優れたユーザー エクスペリエンスを提供できます 新しいページに入るとき、背景が白く点滅します。背景が暗い場合、vue ページで、最初にアニメーションを開始したときに新しいフォームの背景が灰白色になり、アニメーションが終了すると灰色に変化することが発生する可能性があります。背景が暗いため、スプラッシュ スクリーンが発生します。 最適化計画: App.vue にスタイルを記述して、ページ スタイルのレンダリングを高速化します。App.vue のスタイルはグローバル スタイルです。新しいページが作成されるたびにを開くと、App.vue のスタイルが最初に読み込まれ、次に通常の vue ページのスタイルが読み込まれます。
12. 背景色を白く点滅するように最適化します
## シーン:
"style": { "app-plus": { "background":"#000000" } }
##13. 起動速度の最適化
に設定されている場合、この時点でアプリは最速で起動します
アプリは純粋な nvue プロジェクトに設定されています (マニフェストの app-plus の下にレンダラーを設定: "ネイティブ")、この種のプロジェクトは起動が速く、2 秒で開始できます。ネイティブ レンダリングを使用し、Webview ベースのフレームワークをロードしません
#説明:
uniapp チュートリアル"
以上がuniapp プロジェクトを最適化するにはどうすればよいですか?いくつかの最適化計画と提案を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。