0

我有一个导航模式 NAVIGATION_MODE_LIST 的操作栏。

    Resources recursos = this.getResources();
    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
    ArrayAdapter adaptador = new TipoPincelAdapter(this, R.layout.spinner_tipos_pinceles_layout, recursos.getStringArray(R.array.codigo_tipo_lapiz) );
    actionBar.setListNavigationCallbacks(adaptador, this);

我完成()活动。如果我在其他时间加载此活动,然后回来完成它,我会看到我有两个对 MAT 中操作栏的引用。

班级名称 | 浅堆 | 保留堆 | 百分比

com.innovativeproject.firstletters.Lienzo1Activity @ 0xb5db4ec0 | 264 | 66.144 | 0,19% |- com.android.internal.widget.ActionBarView @ 0xb5d1bb58 |
600 | 21.416 | 0,06% | |- android.widget.Spinner @ 0xb5db3bd8 | 600 | 4.384 | 0,01% | | |- android.view.View[12] @ 0xb5d2c870
| 64 | 2.640 | 0,01% | | |- android.graphics.drawable.StateListDrawable @ 0xb5ce05e8 |
88 | 第696章 0,00% | | |- android.widget.AbsSpinner$RecycleBin @ 0xb5ce08a8 |
16 | 168 | 0,00% | | |- android.view.InputEventConsistencyVerifier @ 0xb5ce0568 |
80 | 104 | 0,00% | | |- android.widget.LinearLayout$LayoutParams @ 0xb5ce0b60 |
56 | 56 | 0,00% | | |- android.view.animation.Transformation@0xb5ce0810 |
24 | 24 | 0,00% | | |- android.graphics.Rect @ 0xb5ce0888 | 24 | 24 |
0,00% | | |- android.graphics.Rect @ 0xb5ce08e0
| 24 | 24 | 0,00% | | |- android.graphics.PointF @ 0xb5ce0860 |
16 | 16 | 0,00% | | |- android.view.ViewGroup$3 @ 0xb5ce0878 | 16 | 16 |
0,00% | | |- android.widget.AdapterView$SelectionNotifier @ 0xb5ce5720 | 16 | 16 | 0,00% | | '- 总计:11 个条目 |
| | | |- com.android.internal.widget.ActionBarView$HomeView @ 0xb5db60e0|
第472章 3.944 | 0,01% | |- com.android.internal.widget.ActionBarView$HomeView @ 0xb5d10958|
第472章 3.360 | 0,01%


如何释放操作栏以避免增加内存?

非常感谢。

4

1 回答 1

0

从源码来看,ActionBarView有两个属性typeHomeView

private HomeView mHomeLayout;
private HomeView mExpandedHomeLayout;

HomeView是一个内部类。这可能就是你所看到的,无论如何你都不应该担心你的视图“增加内存”,一旦它认为合适,视图就会被 android 销毁。

于 2012-09-25T08:29:04.953 回答