Dan*_*man 7 android cross-platform ios dart flutter
我正在将 Flutter 用于一个相当大的(IMO)社交应用程序。我使用 Firebase 作为后端。有一个时间线列表视图,其中包含有照片、头像图片……与 Facebook 结构非常相似的列表视图项目。它位于一个四选项卡应用程序中。其他 3 个选项卡是另一个时间线列表,具有相同类型的列表视图项。一个非常小的个人资料页面和一个非常小的设置页面。单击 listivew 项将带您进入详细视图,其中包含一张图片、头像图片、描述和评论,通过 Firebase 一次加载 10 个异步。
我的问题是,看着它在 iOS 设备上运行,看着 XCode,内存使用(使用 iPhone X)有时会推向 2 gigs,最终会遇到内存压力并崩溃。
我不想重新开始使用本机代码(Kotlin 和 Swift)。你建议我从哪里开始调查这个。我还没有使用 Flutter 分析器。但对我来说,即使 UI 很好,它似乎也不应该那么重(特别是对于原生)。
任何人都可以建议一些开始的程序步骤来调查和协调这些记忆问题吗?
抱歉,我知道这是一个很大的问题。但即使是很小的提示,我在旅途中学到的,也是一种祝福。
谢谢!
这听起来可能与GitHub 上跟踪的这个问题有关。我强烈建议您在真实设备上以发布模式运行您的应用程序,看看是否可以观察到相同的内存增长。如果您不这样做,可能值得在 GitHub 上提交问题或跟进之前引用的问题。
如果这实际上是您的应用程序的问题,您可以通过几个选项来尝试找出内存泄漏的原因。
Flutter 团队提供了一个名为Dart DevTools 的工具,可用于调试和分析 Flutter 应用程序。特别是,您需要检查内存视图,您可以在其中跟踪内存增长统计信息并确定对象的分配和引用位置。
另一种选择是使用Observatory,这是由嵌入在调试模式 Flutter 应用程序中的 Dart 虚拟机提供的调试工具,并检查分配配置文件中是否存在任何可能突出的内容。Observatory 可能比 DevTools 更难使用,因为它主要是为 Dart VM 工程师设计的,但它至少提供与 DevTools 一样多的功能。
归档时间: |
|
查看次数: |
4917 次 |
最近记录: |