Skip to content

Commit

Permalink
Fix memory leak
Browse files Browse the repository at this point in the history
  • Loading branch information
nntuyen committed Mar 10, 2017
1 parent fe5a375 commit 3037163
Show file tree
Hide file tree
Showing 13 changed files with 46 additions and 12 deletions.
1 change: 0 additions & 1 deletion app/src/main/java/com/tuyenmonkey/sample/MainActivity.java
Expand Up @@ -15,7 +15,6 @@ public class MainActivity extends AppCompatActivity {
btOpen.setOnClickListener(new View.OnClickListener() {
@Override public void onClick(View v) {
startActivity(TestActivity.getCallingIntent(MainActivity.this));
finish();
}
});
}
Expand Down
7 changes: 7 additions & 0 deletions library/src/main/java/com/tuyenmonkey/mkloader/MKLoader.java
Expand Up @@ -65,4 +65,11 @@ private void initialize(Context context, AttributeSet attrs, int defStyleAttr) {
@Override public void reDraw() {
invalidate();
}

@Override protected void onDetachedFromWindow() {
super.onDetachedFromWindow();
if (loaderView != null) {
loaderView.onDetach();
}
}
}
Expand Up @@ -41,7 +41,9 @@ public ClassicSpinner() {
fadeAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
circles[index].setAlpha((int)animation.getAnimatedValue());
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand Down
Expand Up @@ -42,7 +42,9 @@ public FishSpinner() {
fadeAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
rotates[index] = (float)animation.getAnimatedValue();
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand Down
Expand Up @@ -43,7 +43,9 @@ public LineSpinner() {
fadeAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
lines[index].setAlpha((int)animation.getAnimatedValue());
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand Down
Expand Up @@ -47,4 +47,10 @@ public int getDesiredHeight() {
public abstract void setUpAnimation();

public abstract void draw(Canvas canvas);

public void onDetach() {
if (invalidateListener != null) {
invalidateListener = null;
}
}
}
Expand Up @@ -46,7 +46,9 @@ public PhoneWave() {
fadeAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
arcs[index].setAlpha((int)animation.getAnimatedValue());
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand Down
Expand Up @@ -50,7 +50,9 @@ public Pulse(int numberOfLines) throws InvalidNumberOfPulseException {
scaleAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
scaleY[index] = (float)animation.getAnimatedValue();
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand Down
Expand Up @@ -29,7 +29,9 @@ public class Radar extends LoaderView {
animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
degree = (float)animation.getAnimatedValue();
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand Down
Expand Up @@ -56,7 +56,9 @@ public Sharingan() {
rotateAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
rotate = (float)animation.getAnimatedValue();
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand All @@ -66,7 +68,9 @@ public Sharingan() {
scaleAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
scale = (float)animation.getAnimatedValue();
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand Down
Expand Up @@ -49,7 +49,9 @@ public TwinFishesSpinner() {
fadeAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
rotates[index] = (float)animation.getAnimatedValue();
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand Down
Expand Up @@ -47,7 +47,9 @@ public Whirlpool() {
fadeAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
rotates[index] = (float)animation.getAnimatedValue();
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand Down
Expand Up @@ -41,7 +41,9 @@ public Worm() {
translateAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override public void onAnimationUpdate(ValueAnimator animation) {
circles[index].setCenter(center.x, (float)animation.getAnimatedValue());
invalidateListener.reDraw();
if (invalidateListener != null) {
invalidateListener.reDraw();
}
}
});

Expand Down

0 comments on commit 3037163

Please sign in to comment.