宏宇ya 2023-02-22 14:56 采纳率: 42.9%
浏览 28

Android逐帧动画

【Android应用】为什么在我启动 “逐帧动画” 时,滑动旁边的 “recyclerView” 就会发生轻微卡顿的现象??

  • 写回答

3条回答 默认 最新

  • simleeyes 2023-02-22 15:12
    关注

    下面是通过度娘、其他论坛找到的解决办法,提供一下思路,应该会有和你吻合的地方。

    1. 使用硬件加速:
      使用硬件加速可以加快UI的绘制速度,从而提高UI的流畅度。可以在布局文件中设置 android:hardwareAccelerated="true",或者在代码中调用 View.setLayerType(View.LAYER_TYPE_HARDWARE, null) 来开启硬件加速。
    2. 优化逐帧动画:
      优化逐帧动画的帧率,减少逐帧动画对UI线程的影响。可以通过减少帧率、使用更小的图片、减少动画的持续时间等方式来实现。
    3. 使用多线程:
      将逐帧动画和滑动事件分别放在不同的线程中执行,从而避免UI线程的竞争。可以使用 AsyncTask、Handler、Thread 等方式来实现。
    4. 使用 RecyclerView 的优化功能:
      RecyclerView 提供了很多优化功能,例如ViewHolder的复用、局部刷新、异步加载等,可以提高RecyclerView的性能和流畅度。可以根据具体情况对RecyclerView进行优化。
    5. 减少其他UI操作:
      在启动逐帧动画时,可以减少其他UI操作,例如隐藏或移除其他UI控件,避免UI线程的竞争。可以通过布局的优化或代码的优化来实现。
    评论

报告相同问题?

问题事件

  • 修改了问题 2月22日
  • 创建了问题 2月22日

悬赏问题

  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 有关类的报错,在模块里调用另一个模块的方法下的变量时出错
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格
  • ¥15 kali linux用wget archive.kali.org/archive-key.asc指令下载签名无效(失败)
  • ¥15 openHarmony 利用c++程序在dayu210开发板上实现拉取RTSP视频流并且在屏幕上显示
  • ¥15 GD32H757的can通信配置
  • ¥20 nist随机数测试的问题