2016-12-23 12 views
0

Androidの{N}アプリが遅くなることが判明しました。特にナビゲーション時には、ナビゲーションの数を増やせば徐々に遅くなることに気付きました。Nativescriptアプリのパフォーマンス

私はそれがメモリリークと関係があると考えています。

私はWindowsとVSコードで開発しています。メモリリークやパフォーマンスなどをチェックする方法に関する提案

+0

少なくとも2.4リリースを実行してください。 2.3に関する問題ナビゲーションとメモリで考える –

+0

ランタイムとtns-core-modulesのバージョン( 'tns info')を指定する必要があります。 – Nathanael

+0

nativescript 2.4.2; tns-core-modules 2.4.4; tnsアンドロイド2.4.1 – dashman

答えて

0

最新版のNativeScriptを使用している場合は、新しいデータ構造を作成し、すべてのページナビゲーション中に保持することになります。例えば;あなたが行う場合:

var page; 
exports.loaded(args) { 
    page = args.object; 
} 

をそして離れて移動し、ページ変数は、まだその後、メモリ内のページに関連するすべてのものを保持しますページ全体の要素、を指します。したがって、これにはいくつかの解決策があります。

  1. WeakRefを使用すると、GCする必要があるオブジェクトへの参照を維持できます。
  2. 上記のpage要素のように、コード内でグローバル化したものに対するすべての参照をクリアするには、アンロードされたイベントを使用します。問題の原因を特定する

一つの方法は、どこかにあなたのAndroidアプリでこのコードを置くことによって、ヒープ・ダンプを強制することです: __heapSnapshot(); これは、ヒープのスナップショットを生成します。一度あなたのコンピュータにダウンロードすると、Chromeの開発者ツールで開き、ヒープの使用状況をチェックできます。

関連する問題