DO NOT MERGE Use ArrayMap instead of HashMap for storing relavant nodes

This fix is to take advantage of ArrayMap, which is a key-value
mapping data structure that is more memory efficient than HashMap.

Bug: 11604254
Change-Id: I57006880de570a4d7f3899e274cf0a06355d116b
(cherry picked from commit d7444427d9)
This commit is contained in:
Doris Liu
2015-05-11 13:23:31 -07:00
committed by Filip Gruszczynski
parent 497176975f
commit 629ba0e2b3

View File

@@ -16,9 +16,10 @@
package android.animation;
import android.util.ArrayMap;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
/**
@@ -68,7 +69,7 @@ public final class AnimatorSet extends Animator {
* to a single node representing that Animator, not create a new Node
* if one already exists.
*/
private HashMap<Animator, Node> mNodeMap = new HashMap<Animator, Node>();
private ArrayMap<Animator, Node> mNodeMap = new ArrayMap<Animator, Node>();
/**
* Set of all nodes created for this AnimatorSet. This list is used upon
@@ -646,7 +647,7 @@ public final class AnimatorSet extends Animator {
anim.mTerminated = false;
anim.mStarted = false;
anim.mPlayingSet = new ArrayList<Animator>();
anim.mNodeMap = new HashMap<Animator, Node>();
anim.mNodeMap = new ArrayMap<Animator, Node>();
anim.mNodes = new ArrayList<Node>(nodeCount);
anim.mSortedNodes = new ArrayList<Node>(nodeCount);
anim.mReversible = mReversible;