# HiFrameAnimation
低内存消耗的序列帧库,只占用了一张序列帧图片的内存,异步绘制不占用UI线程资源,同时复用序列帧Bitmap,减少内存抖动,避免了频繁的GC,提高动画的流畅性。可用于直播大礼物的展示。
![image](https://github.com/hidaron/HiFrameAnimation/blob/master/demo.gif)
## 使用了inBitmap复用内存
为了节省内存,我在每一帧绘制前才从本地读取并且编码图片,绘制完成后就释放,但这样的话会频繁地进行IO操作,造成内存抖动。为了减少内存抖动,我使用了inBitmap来复用当前帧所占用内存,效果还是很不错,内存抖动明显减缓了。
没有使用inBitmap</br>
![image](https://github.com/hidaron/HiFrameAnimation/blob/master/inbitmap_before.png)
使用inBitmap</br>
![image](https://github.com/hidaron/HiFrameAnimation/blob/master/inbitmap_after.png)
## 怎么使用
### 1.添加帧动画视图布局
````
<org.limlee.hiframeanimationlib.FrameAnimationView
android:id="@+id/frame_animation"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
````
### 2.添加序列帧资源
````
List<FrameDrawable> frameDrawables = new ArrayList<>();
for (String framePath : frameList) {
FrameDrawable frameDrawable = new FrameDrawable(FRAME_NAME + "/" + framePath, 100);
frameDrawables.add(frameDrawable);
}
mFrameAnimationView.addFrameDrawable(frameDrawables);
````
### 3.播放帧动画
````
@Override
protected void onPostCreate(@Nullable Bundle savedInstanceState) {
....
mFrameAnimationView.setOneShot(false); //循环播放帧动画
mFrameAnimationView.setOnFrameListener(new FrameAnimationView.OnFrameListener() { //添加监听器
@Override
public void onFrameStart() {
Log.d(TAG, "帧动画播放开始!");
}
@Override
public void onFrameEnd() {
Log.d(TAG, "帧动画播放结束!");
}
});
mFrameAnimationView.start(); //开始播放
}
````
### 4.停止播放
````
@Override
protected void onDestroy() {
super.onDestroy();
mFrameAnimationView.stop(); //停止播放
mFrameAnimationView.setOnFrameListener(null); //移除监听器
}
````
## 最后,还可以使用属性动画来实现负责的大礼物动画
https://github.com/hidaron/CoreAnimator2Android
没有合适的资源?快使用搜索试试~ 我知道了~
Android-低内存消耗的序列帧动画库只占用一张序列帧图片的内存可用于直播大礼物的展示
共173个文件
png:136个
java:11个
xml:9个
需积分: 44 3 下载量 78 浏览量
2019-08-13
04:21:33
上传
评论
收藏 10.9MB ZIP 举报
温馨提示
低内存消耗的序列帧库,只占用了一张序列帧图片的内存,异步绘制不占用UI线程资源,同时复用序列帧Bitmap,减少内存抖动,避免了频繁的GC,提高动画的流畅性。可用于直播大礼物的展示。
资源推荐
资源详情
资源评论
收起资源包目录
Android-低内存消耗的序列帧动画库只占用一张序列帧图片的内存可用于直播大礼物的展示 (173个子文件)
gradlew.bat 2KB
demo.gif 10.62MB
.gitignore 238B
.gitignore 7B
.gitignore 7B
build.gradle 672B
build.gradle 613B
build.gradle 496B
settings.gradle 39B
gradlew 5KB
okio-1.6.0.jar 64KB
gradle-wrapper.jar 52KB
Utils.java 6KB
FrameAnimationView.java 6KB
FrameSurfaceView.java 5KB
MainActivity.java 4KB
FrameDrawable.java 1KB
HolderApplication.java 503B
UpdateThread.java 385B
ApplicationTest.java 361B
ApplicationTest.java 358B
ExampleUnitTest.java 323B
ExampleUnitTest.java 320B
README.md 2KB
youting_81.png 222KB
youting_66.png 49KB
youting_75.png 49KB
youting_102.png 49KB
youting_74.png 49KB
youting_65.png 49KB
youting_108.png 49KB
youting_67.png 49KB
youting_98.png 49KB
youting_99.png 49KB
youting_113.png 49KB
youting_61.png 49KB
youting_103.png 48KB
youting_109.png 48KB
youting_80.png 48KB
youting_110.png 48KB
youting_97.png 48KB
youting_69.png 48KB
youting_70.png 48KB
youting_71.png 48KB
youting_104.png 48KB
youting_105.png 48KB
youting_76.png 48KB
youting_107.png 48KB
youting_82.png 48KB
youting_72.png 48KB
youting_96.png 48KB
youting_68.png 48KB
youting_78.png 48KB
youting_106.png 48KB
youting_73.png 48KB
youting_62.png 48KB
youting_101.png 48KB
youting_63.png 48KB
youting_95.png 48KB
youting_60.png 48KB
youting_55.png 48KB
youting_59.png 48KB
youting_79.png 48KB
youting_56.png 48KB
youting_64.png 48KB
youting_84.png 48KB
youting_111.png 48KB
youting_83.png 48KB
youting_85.png 48KB
youting_77.png 48KB
youting_58.png 48KB
youting_53.png 48KB
youting_100.png 48KB
youting_57.png 48KB
youting_86.png 48KB
youting_91.png 48KB
youting_112.png 48KB
youting_49.png 48KB
youting_52.png 48KB
youting_48.png 48KB
youting_93.png 48KB
youting_94.png 48KB
youting_92.png 48KB
youting_44.png 48KB
youting_51.png 48KB
youting_54.png 48KB
youting_87.png 48KB
youting_47.png 47KB
youting_88.png 47KB
youting_114.png 47KB
youting_45.png 47KB
youting_89.png 47KB
youting_43.png 47KB
youting_50.png 47KB
youting_90.png 47KB
youting_42.png 47KB
youting_46.png 47KB
youting_115.png 47KB
youting_38.png 47KB
youting_117.png 47KB
共 173 条
- 1
- 2
资源评论
weixin_39840387
- 粉丝: 784
- 资源: 3万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功