Android修行手册 - 移动端几种常用动画方案对比

news2024/12/25 15:07:06
Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总
游戏脚本-辅助自动化Android控件全解手册再战Android系列
Scratch编程案例软考全系列Unity3D学习专栏
蓝桥系列ChatGPT和AIGC

👉关于作者

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等)
有什么需要欢迎底部卡片私我,交流让学习不再孤单

在这里插入图片描述

👉实践过程

😜一、GIF

GIF全称Graphics Interchange Format,图像互换格式,采用8位压缩,最多只能处理256种颜色,不宜应用于真彩色图片。GIF体积大,颗粒感,有锯齿,尤其透明效果动画慎用。

GIF导出

  • 视频+PS导出:AE输出视频—PS打开视频—存储为WEB所用格式(旧版)—存储导出GIF。
  • 序列帧+PS导出:AE导出PNG序列帧图—PS打开序列帧——存储为WEB所用格式(旧版)——存储导出GIF。
  • AE插件GIFGUN导出:方便快捷,缺点是限制在30FPS内,输出质量差,容易掉帧。
  • PS导出GIF失败后的替代方案:

存储为WEB所用格式(旧版)—点击左下角的预览—自动打开Chrome浏览器—复制网址,将网址粘贴到Safari浏览器中—拖出来就行。

  • GIF压缩方式:PPduck、docsmall。

😜二、视频

MP4能够直接播放视频、音频的有损文件,实现成本低,兼容性强,体积一般。一般用在宣传、开屏、演示如app的开屏动画。

MP4导出

  • 视频+PS导出:AE输出视频—PS打开视频—PS文件导出选择渲染视频—命名—选择输出的文件夹—选择品质高中低—点击渲染。
  • 视频压缩方式:Handbrake、格式工厂、Adobe Media Encode。
  • 视频转GIF:Gifski。

😜三、APNG/WEBP

APNG是基于PNG格式的动画格式图片,它的动图后缀依然是.png,因为兼容性的问题没有像GIF那样普及。
WEBP目标是减少文件大小,达到和JPGE格式相同的图片质量。WEBP基本兼容所有的主流浏览器,同时也兼容所有的安卓设备,不过像一些iOS设备需要通过一定的方式才可以支持,相同效果的WEBP格式要比PNG格式小大概一半大小。

APNG/WEBP导出
1、iSparta软件导出:将AE导出的序列图拖到iSparta软件中,点击开始即可导出APNG/GIF/WEBP(注:GIF通过此软件导出质量偏差)。
iSparta下载地址:http://isparta.github.io/how.html。
2、BX-WebpApngExporter插件导出:下载BX-WebpApngExporter.zxp,拖进ZXP安装工具安装插件,在AE窗口-扩展中运行BX Webp/Apng Exporter,选择要导出的格式的对应导出地址,根据情况勾选是否导出,点击生成。

😜四、LOTTIE/SVGA

LOTTIE是基于JSON格式的动画文件格式,满足很多种类的矢量动画和图片动画,它是多平台的,可以在iOS、Android、Web和React Native上使用,并且按比例放大缩小不会出现像素化;它是小文件,显著提高了下载速度。

LOTTIE导出:
Bodymovin插件导出:下载bodymovin插件,安装成功后,在窗口-扩展-Bodymovin打开,设置导出路径,渲染动画,点击完成。

SVGA是同时兼容iOS、Android、Web的动画文件格式,可以支持AE或Animate大部分效果,动画文件体积更小,播放资源更优,还原效果更好。

SVGA导出:
SVGAConverter插件导出:下载SVGAConverter插件,安装成功后,在窗口-扩展-SVGAConverter_AE打开,设置输出路径,点击开始转换,成功后会有预览。

😜五、总结对比

占用内存对比:从大到小
视频>序列帧>GIF>APNG/WEBP>LOTTIE/SVGA

质量稳定对比:从差到好
视频<GIF<序列帧<APNG/WEBP<LOTTIE/SVGA

支持AE动效对比:从多到少
视频>GIF>序列帧>APNG/WEBP>LOTTIE/SVGA

业务方案:

  • gif虽然体积小、兼容性好、但效果差、不推荐使用、除非非常在意多端兼容性与性能!
  • 简单的动图采用webp、比如简单的聊天表情动图(骰子、石头剪刀布等)
  • lottie适合一些复杂的动画、比如复杂的加载动画、引导动画等、不适合做直播间大礼物特效
  • 直播间复杂的大礼物动可以用效用svga,webp还有apng
  • MP4不建议做直播间礼物动画防范

因为她不直接支持alpha,需要通过openGL或者CIFilter方式可以通过两个图层叠加的方式达到效果,但是性能不好,如果取帧的FPS介于:16.7 ~ 60 则内存暴涨100~150MB左右,而webp和svga则相对会稳定很多。

👉其他

📢作者:小空和小芝中的小空
📢转载说明-务必注明来源:https://zhima.blog.csdn.net/
📢这位道友请留步☁️,我观你气度不凡,谈吐间隐隐有王者霸气💚,日后定有一番大作为📝!!!旁边有点赞👍收藏🌟今日传你,点了吧,未来你成功☀️,我分文不取,若不成功⚡️,也好回来找我。

温馨提示点击下方卡片获取更多意想不到的资源。
空名先生

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2264767.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【计算机视觉基础CV-图像分类】03-深度学习图像分类实战:鲜花数据集加载与预处理详解

本文将深入介绍鲜花分类数据集的加载与处理方式,同时详细解释代码的每一步骤并给出更丰富的实践建议和拓展思路。以实用为导向,为读者提供从数据组织、预处理、加载到可视化展示的完整过程,并为后续模型训练打下基础。 前言 在计算机视觉的深…

Windows查看MD5

如何在Windows,查看一个文件的MD5 1、ctrlr,输入cmd 2、执行命令certutil -hashfile 文件路径(按住将文件拖进来就行) MD5 3、执行命令certutil -hashfile 文件路径(按住将文件拖进来就行)SHA1 可查看SHA…

【优化算法】莲花效应优化算法(LEA):一种基于莲花自然启发的工程设计优化算法

目录 1.摘要2.算法原理3.结果展示4.参考文献5.代码获取 1.摘要 本文提出了一种新的进化算法——莲花效应算法(LEA),该算法结合了蜻蜓算法中的高效操作算子,例如蜻蜓在花朵授粉中的运动方式用于探索,以及水在花叶上的自…

Next.js v15 - 服务器操作以及调用原理

约定 服务器操作是在服务器上执行的异步函数。它们可以在服务器组件和客户端组件中调用,用于处理 Next.js 应用程序中的表单提交和数据修改。 服务器操作可以通过 React 的 “use server” 指令定义。你可以将该指令放在 async 函数的顶部以将该函数标记为服务器操…

DataV的安装与使用(Vue3版本)

1、DataV(vue3)地址:DataV Vue3TSVite版 | DataV - Vue3 2、使用 npm install kjgl77/datav-vue3 安装 3、全局引入。 4、此时就可以按需使用了~

隐藏指定文件/文件夹和自动提示功能消失解决方案

一. 隐藏指定文件/文件夹 Idea中隐藏指定文件或指定类型文件 Setting → File Types → Ignored Files and Folders输入要隐藏的文件名,支持*号通配符回车确认添加 二. 自动提示功能消失解决方案 指定SpringBoot配置文件 File → Project Structure → Facets选…

Echarts连接数据库,实时绘制图表详解

文章目录 Echarts连接数据库,实时绘制图表详解一、引言二、步骤一:环境准备与数据库连接1、环境搭建2、数据库连接 三、步骤二:数据获取与处理1、查询数据库2、数据处理 四、步骤三:ECharts图表配置与渲染1、配置ECharts选项2、动…

Springboot应用开发:配置类整理

目录 编写目的 一、线程池 1.1 setCorePoolSize 1.2 setMaxPoolSize 1.3 setQueueCapacity 1.4 setKeepAliveSeconds 1.5 setThreadNamePrefix 1.6 setRejectedExecutionHandler 1.7 示例代码 二、Durid数据库连接池 2.1 ServletRegistrationBean 2.2 FilterRegist…

AI新书推荐:深度学习和大模型原理与实践(清华社)

本书简介 在这个信息爆炸、技术革新日新月异的时代,深度学习作为人工智能领域的重要分支,正引领着新一轮的技术革命。《深度学习和大模型原理与实践》一书,旨在为读者提供深度学习及其大模型技术的全面知识和实践应用的指南。 本书特色在于…

java如何使用poi-tl在word模板里渲染多张图片

1、poi-tl官网地址 http://deepoove.com/poi-tl/ 2、引入poi-tl的依赖 <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.1</version></dependency>3、定义word模板 释义&#xf…

电力通信规约-104实战

电力通信规约-104实战 概述 104规约在广泛应用于电力系统远动过程中&#xff0c;主要用来进行数据传输和转发&#xff0c;本文将结合实际开发实例来讲解104规约的真实使用情况。 实例讲解 因为个人技术栈是Java&#xff0c;所以本篇将采用Java实例来进行讲解。首先我们搭建一…

linux socket编程之udp_dict_serve服务端--引入配置文件

注意&#xff1a;本篇博客只是对上一篇博客功能的增加 1.创建配置文件(翻译) Dict.txt apple: 苹果 banana: 香蕉 cat: 猫 dog: 狗 book: 书 pen: 笔 happy: 快乐的 sad: 悲伤的 run: 跑 jump: 跳 teacher: 老师 student: 学生 car: 汽车 bus: 公交车 love: 爱 hate: 恨 hell…

stm32定时器输出比较----驱动步进电机

定时器输出比较理论 OC(Output Compare)输出比较输出比较可以通过比较CNT与CCR寄存器值的关系,来对输出电平进行置1、置0或翻转的操作,用于输出一定频率和占空比的PWM波形每个高级定时器和通用定时器都拥有4个输出比较通道高级定时器的前3个通道额外拥有死区生成和互补输出…

ArrayList 类 (顺序表)

目录 一. ArrayList 基本介绍 二. ArrayList 中的法及其应用 1. 添加元素 (1) add() (2) addAll() 2. 删除元素 (1) remove() (2) removeAll() 3. 遍历元素 (1) for 循环遍历 (2) for - each 遍历 (3) 迭代器遍历 (4) 列表迭代器遍历 4. 判断 (1) cotains() (2…

ubuntu22.04安装PaddleX3

PaddleOCR 安装过程可以参考PaddleX本地安装教程 我的电脑环境配置&#xff1a; ubuntu22.04 cuda11.8&#xff08;之前安装的是12.4没有匹配的paddle-gpu;这里改成11.8&#xff09; 一、安装基础环境 1、 conda create -n ppx1 python3.10 2、 conda activate ppx1 3、…

圣诞快乐(h5 css js(圣诞树))

一&#xff0c;整体设计思路 圣诞树h5&#xff08;简易&#xff09; 1.页面布局与样式&#xff1a; 页面使用了全屏的黑色背景&#xff0c;中央显示圣诞树&#xff0c;树形由三层绿色的三角形组成&#xff0c;每一层的大小逐渐变小。树干是一个棕色的矩形&#xff0c;位于三角…

行业观察|西门子收购Altair:从多学科仿真到工业元宇宙

在当今数字化时代&#xff0c;工业领域正经历着深刻的变革。而CAE软件作为工业领域关键工具&#xff0c;在产品设计、验证和优化等环节发挥着越来越重要的作用。 11月&#xff0c;西门子宣布收购Altair的新闻屠版了整个朋友圈&#xff0c;无疑验证了CAE在制造业的核心地位。对A…

【Verilog】UDP用户原语

User-defined primitives 概述基本语法组合逻辑的UDP时序逻辑的UDPUDP 符号表 Verilog HDL&#xff08;简称 Verilog &#xff09;是一种硬件描述语言&#xff0c;用于数字电路的系统设计。可对算法级、门级、开关级等多种抽象设计层次进行建模。 Verilog 不仅定义了语法&…

计算机网络压缩版

计算机网络到现在零零散散也算过了三遍&#xff0c;一些协议大概了解&#xff0c;但总是模模糊糊的印象&#xff0c;现在把自己的整体认识总结一下&#xff0c;&#xff08;本来想去起名叫《看这一篇就够了》&#xff0c;但是发现网上好的文章太多了&#xff0c;还是看这篇吧&a…

单元测试使用记录

什么是单元测试 简单来说就是对一个类中的方法进行测试&#xff0c;对输出的结果检查判断是否符合预期结果 但是在多年的工作中&#xff0c;从来没有哪个项目中真正系统的用到了单元测试&#xff0c;因此对它还是很陌生的&#xff0c;也就造成更加不会在项目中区使用它。 如何…