处理活动

时间:2018-02-10 03:16:56

标签: android performance user-interface views android-animation

我在当前的Android应用程序中遇到的基本问题是,在一个活动中有太多关于太多视图的动画。这里的问题是当我运行我的应用程序时没有动画正常运行。屏幕中的一些动画是连续的,其中一些只是一次。但是这个动画都没有像它应该的那样顺利地实现一个出色的用户界面。所有的动画都是逐一进行的。我最近转到了这个应用程序,所以我不能在这里发布任何图像。此外,布局文件中有超过80个视图,并且动画可以看到超过一半的视图,并且一些视图意味着在整个应用程序生命周期中持续动画。我的应用程序是一种完全基于Android本机代码的游戏。

以下是我应该提及的一些观点:

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

  2. 此外,可绘制文件夹中有超过400张图片,大约41MB。

  3. 原始文件夹还包含大约50MB的声音文件。这些声音在后台持续播放,有些声音在按钮点击等特定事件中播放。

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

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

  6. 我也有一些疑问:

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

    2. 如果我将视图转换为单独的片段,那么在视图上逐个执行动画会有困难。

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

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

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

      请指导我做错的地方以及一些我不了解的实施方法。如果可能的话,我会为我的应用发布视频,以便更好地了解。

      感谢您浏览我的帖子!

1 个答案:

答案 0 :(得分:0)

  

有超过80个视图......一些视图应该在整个应用程序生命周期中持续动画

这是一个问题。 Android视图不打算以这种方式使用。整个tutorials致力于减少和优化您的观看次数,因为渲染和编排非常昂贵。

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

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