首页 > 解决方案 > 如何在 nativescript 角度应用程序上分析导航滞后和内存不足问题?

问题描述

我为 android 构建 nativescript angular 应用程序,具有如下依赖项

"nativescript-angular": "^7.2.2",
"nativescript-background-http": "^3.4.0",
"nativescript-bitmap-factory": "^1.7.1",
"nativescript-camera": "^4.2.0",
"nativescript-cardview": "^3.1.1",
"nativescript-directions": "^1.3.0",
"nativescript-drawingpad": "^3.0.4",
"nativescript-fancyalert": "^3.0.6",
"nativescript-filterable-listpicker": "^2.2.3",
"nativescript-fresco": "^5.2.0",
"nativescript-geolocation": "^5.0.0",
"nativescript-imagepicker": "^6.1.2",
"nativescript-modal-datetimepicker": "^1.1.12",
"nativescript-ngx-shadow": "^6.4.0",
"nativescript-photoviewer": "^1.5.0",
"nativescript-plugin-firebase": "^8.0.0",
"nativescript-theme-core": "~1.0.4",
"nativescript-ui-autocomplete": "^4.0.0",
"nativescript-ui-chart": "^4.0.0",
"nativescript-ui-listview": "^6.0.0",
"reflect-metadata": "^0.1.13",
"rxjs": "^6.4.0",
"tns-core-modules": "^5.2.2",
"tns-platform-declarations": "^5.2.2",
"typescript": "~3.1.1",
"zone.js": "^0.8.29"

这些应用程序包含 5 个选项卡和按钮来拍照。有2个主要问题

  1. 当用户从一个选项卡导航到另一个选项卡时,应用程序将随机显示“peekState”错误。
  2. 当用户使用相机拍摄 2 张​​或更多照片时,应用程序将崩溃并出现 java.OutOfmemory 异常

以下是我已经尝试过的一些更改

  1. 使用 BmpImageFactory 将相机中的图像调整为更小的尺寸
  2. 使用 Nativescript Fresco 加载图像
  3. 清空用于保存 imageSource 的变量
  4. 从标签导航中删除动画

请建议如何找到导航滞后和内存不足问题的原因?

标签: nativescriptnativescript-angular

解决方案


您可以使用时间线视图来分析您的应用程序,以获得一个 HTML 视图,了解您的应用程序中需要花费大量时间的内容。

对于图像,您是否将其保存在磁盘上?您可以将内存限制为一张图片,在保存之前调整其大小以减少使用的磁盘空间大小,然后在需要时使用单独的流程来使用它。

您还可以使用 Android Studio 分析 RAM 使用情况,以查看您的应用程序中是否存在大量内存泄漏/异常内存使用情况。


推荐阅读