查看: 632|回复: 0

[IOS开发教程] 在进行软件更新时遇到头疼问题

发表于 2018-1-29 08:00:02

我在做一个视频直播的app。当我加入动态礼物(gif)。编写代码来加入礼物和呈现特效的方法。但是导致了app的包变的非常大。这个怎么解决?跪求!!!!拿到的特效礼物有8个,每个礼物平均下来有8m左右。该如何实现包的优化。还请大神解决。以下是一个动画:/**

@param sendGiftBean 赠送的礼物信息 @dw 红色小轿车动画

@author 魏鹏
*/
protected void showRedCarAnimation(SendGiftBean sendGiftBean) {
if (!giftAnimationPlayEnd) {
return;
}

giftAnimationPlayEnd = false;
//获取汽车动画布局
mGiftView = getLayoutInflater().inflate(R.layout.view_live_gift_animation_car_general, null);
AvatarView uHead = (AvatarView) mGiftView.findViewById(R.id.iv_animation_red_head);
TextView mname = (TextView) mGiftView.findViewById(R.id.tv_liwu_name);
mname.setText(sendGiftBean.getNicename());
uHead.setAvatarUrl(sendGiftBean.getAvatar());
//获取到汽车image控件
final ImageView redCar = (ImageView) mGiftView.findViewById(R.id.iv_animation_red_car);
//添加到当前页面
mLiveContent.addView(mGiftView);

final int vw = redCar.getLayoutParams().width;
//动画第二次
final Runnable carRunnable = new Runnable() {
@Override
public void run() {
//小汽车切换帧动画开始继续移动向-x
redCar.setImageResource(R.drawable.car_red1);
mGiftView.animate().translationX(~vw)
.withEndAction(new Runnable() {
@Override
public void run() {
//小汽车从底部重新回来切换帧动画
redCar.setImageResource(R.drawable.car_10001);
ObjectAnimator oX = ObjectAnimator.ofFloat(mGiftView, "translationX", mScreenWidth, mScreenWidth / 2 - vw / 2);
ObjectAnimator oY = ObjectAnimator.ofFloat(mGiftView, "translationY", mScreenHeight / 2, mScreenHeight >> 2);

  1. //重新初始化帧动画参数
  2. AnimatorSet animatorSet = new AnimatorSet();
  3. animatorSet.playTogether(oX, oY);
  4. animatorSet.setDuration(2000);
  5. animatorSet.addListener(new Animator.AnimatorListener() {
  6. @Override
  7. public void onAnimationStart(Animator animation) {
复制代码


回复

使用道具 举报