处理活动中的多个动画和视图



我在当前的 Android 应用程序中遇到了基本问题,仅在一个活动中就有太多视图上的动画。这里的问题是当我运行我的应用程序时,没有动画可以顺利运行。屏幕中的一些动画是连续的,其中一些只是一次性的。但是这些动画都没有像实现出色的用户界面那样流畅地工作。所有动画都在逐个执行。我最近转移到这个应用程序,所以我不能在这里发布任何图像。此外,布局文件中有 80 多个视图,超过一半的视图通过动画可见,有些视图旨在在整个应用程序生命周期中持续进行动画处理。我的应用程序是一种完全基于安卓原生代码构建的游戏。

以下是我应该提到的几点:

  1. 单个布局文件中有 80 多个视图,所有这些视图都一次初始化为 java 文件。

  2. 此外,可绘制文件夹中有 400 多张图像,约为 41MB。

  3. 原始文件夹还包含大约 50MB 的声音文件。这些声音在后台连续播放,有些在特定事件(如按钮单击)播放。

  4. 调试APK大小约为82MB。

  5. 某些动画也是在运行时创建的,因此此类动画没有动画文件。

我也有一些疑问,它们是:

  1. 我是否应该将一些视图移动到单独的片段中,以便单个屏幕可以具有有限数量的视图。

  2. 如果我将视图转移到单独的片段中,那么将很难逐个对视图执行动画。

  3. 是否有任何解决方法可以加载如此多的视图并对其执行动画,而不管主 UI 线程如何?由于所有这些动画和视图都在执行并加载到 UI 线程中,因此我的应用程序无法顺利运行。由于动画是在视图上执行的,因此我们需要从任何其他线程访问主 UI 线程。

  4. 此外,市场上还有许多应用程序具有无流畅的用户界面,上面有很多视图和动画。那么他们如何管理自己的应用性能。市场上是否有任何库或SDK可以提高此类应用程序的性能。

简而言之,我想知道应该如何处理具有此类资源,背景音乐和动画的应用程序?我只想有效地处理此应用程序以提高应用程序性能。

请指导我哪里做错了,以及一些我不知道的实现方法。如果可能的话,我会为我的应用程序发布视频以获得更好的想法。

感谢您浏览我的帖子!

有超过

80 次观看...某些视图旨在在整个应用程序生命周期中持续进行动画处理

这是一个问题。Android Views 不打算以这种方式使用。有专门用于减少和优化视图数量的整个教程,因为它们的渲染和编排成本非常高。

您可能缺少的关键点是,Android 中的游戏不是使用活动中的动画编写View。游戏通常使用 OpenGL ES 2.0 编写,或者使用像 Unity 这样的高级游戏引擎编写,该引擎在编译时使用 OpenGL。

OpenGL是一个完全不同的学习和掌握领域,但如果你想开发游戏,你需要投入其中。

最新更新