Skip to content

Commit

Permalink
change[]: Optimize memory
Browse files Browse the repository at this point in the history
  • Loading branch information
Ajian-studio committed Jan 4, 2017
1 parent 69713b4 commit 7ecb1b3
Showing 1 changed file with 22 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -951,6 +951,10 @@ private void performOneWaterDropAnimation(
Runnable runnable = new Runnable() {
@Override
public void run() {
if (mRunnableList != null) {
mRunnableList.remove(this);
}

final WaterDrop waterDrop;
if (!mWaterDropWaitList.isEmpty()) {
waterDrop = mWaterDropWaitList.remove(0);
Expand All @@ -964,7 +968,7 @@ public void run() {
float endValue = dropTotalDisRatio /
(dropRadiusRatio * WATER_DROP_LEAVE_WATER_TOTAL_DISTANCE_TO_DROP_RADIUS);

ValueAnimator dropUp = ValueAnimator.ofFloat(0, endValue);
final ValueAnimator dropUp = ValueAnimator.ofFloat(0, endValue);
dropUp.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
Expand All @@ -980,7 +984,7 @@ public void onAnimationUpdate(ValueAnimator animation) {
dropUp.setDuration(totalTime / 2);
mAnimatorList.add(dropUp);

ValueAnimator dropDown = ValueAnimator.ofFloat(endValue, 0);
final ValueAnimator dropDown = ValueAnimator.ofFloat(endValue, 0);
dropDown.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
Expand All @@ -996,18 +1000,29 @@ public void onAnimationUpdate(ValueAnimator animation) {
dropDown.setDuration(totalTime / 2);
mAnimatorList.add(dropDown);

AnimatorSet dropaAnimatorSet = new AnimatorSet();
dropaAnimatorSet.playSequentially(dropUp, dropDown);
dropaAnimatorSet.addListener(new AnimatorListenerAdapter() {
final AnimatorSet dropAnimatorSet = new AnimatorSet();
dropAnimatorSet.playSequentially(dropUp, dropDown);
dropAnimatorSet.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
mWaterDropList.remove(waterDrop);
mWaterDropWaitList.add(waterDrop);
}
});
mAnimatorList.add(dropaAnimatorSet);
dropaAnimatorSet.start();
mAnimatorList.add(dropAnimatorSet);
dropAnimatorSet.addListener(new AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
super.onAnimationEnd(animation);
if (mAnimatorList != null) {
mAnimatorList.remove(dropUp);
mAnimatorList.remove(dropDown);
mAnimatorList.remove(dropAnimatorSet);
}
}
});
dropAnimatorSet.start();
}
};

Expand Down

0 comments on commit 7ecb1b3

Please sign in to comment.