我正在寻找一些实践,以使我的初创公司的应用程序执行。请分享你所遵循的技巧/技巧和做法,使颤振应用程序更加流畅。我分享了一些我目前遵循的做法。谢谢!
发布于 2022-05-09 20:47:35
如果在开发应用时考虑到一些性能优化,颤振应用程序是非常优秀的。毫无疑问,应用程序可能会变得滞后和简陋。
1:使用较小的图像文件:毫无疑问,图像对于任何移动应用程序都是必不可少的。如果管理不当,这就是性能受到良好影响的领域。作为一名Android开发人员,我开始了我的旅程,很快,我在我的应用程序中经历了很多滞后和糟糕的表现。后来,我发现我用的是几个MBs的图片。图像资产的分辨率远远高于要求的分辨率。这花费了大量的时间,设备加载资产和绘制像素,增加了CPU和GPU的工作。有时,图像甚至无法加载,使应用程序完全没有响应。下面是一些避免与图像资产相关的性能问题的提示。试着缩小你的图像大小,从镀锡。降低图像的分辨率。确保分辨率不超过任何高端设备的分辨率。
2:避免不必要的动画动画是性能的一个敌人,使用动画可能会导致设备资源不断工作(因为动画值是再次生成的)。CPU经常需要生成值& GPU必须重新绘制小部件。
3:亲自删除多余的小部件,我使用了很多冗余的小部件,比如无用的容器&其他小部件,这些小部件对整个应用程序的UI感觉没有贡献。渐渐地,我意识到这正成为我的习惯。虽然这可能是主观的。确保只使用那些必要的小部件。
4:适当的状态管理--适当的状态管理解决方案可以使您的应用程序非常高效&避免计算开销。一个典型的颤振应用程序可能包含数百个小部件。更新这些小部件并再次重绘它们,可能会使您的设备工作得更多。适当的状态管理只允许必要的小部件更新其状态或重绘。假设您使用提供者作为应用程序的状态管理工具,提供者只会通知它的监听器,即消费者小部件。只有监听更改通知提供程序的小部件才会更新。
图像描述
5:使用Dart开发工具(颤振开发工具)是一些有用的分析工具的组合,可以帮助确定哪些小部件或功能占用了很大的处理能力,并导致了滞后或jank。Dev工具清楚地展示了在main & UI线程中发生的事情。图像描述
6:尽可能使用Const小部件--我们可以在编译时对常量使用关键字const,这是很好的做法。我们也不要忘记对我们的小部件尽可能多地使用const,这允许我们捕获和重用小部件,以避免由它们的祖先造成的不必要的重构。
7:避免功能组件抖动是关于小部件的,创建一个自定义小部件可以通过两种流行的方式来完成。要么创建一个函数,返回相应的小部件(functional ),要么创建一个全新的小部件。强烈建议创建无状态或状态小部件,而不是创建函数。
https://stackoverflow.com/questions/72178046
复制相似问题