关于launcher改变tabs_container和tabhost位置引发的血案

滑动过快,launcher会卡住回到主界面

09-22 09:07:48.515: D/dalvikvm(3845): create interp thread : stack size=32KB
09-22 09:07:48.515: D/dalvikvm(3845): create new thread
09-22 09:07:48.515: D/dalvikvm(3845): new thread created
09-22 09:07:48.515: D/dalvikvm(3845): update thread list
09-22 09:07:48.515: D/dalvikvm(3845): threadid=12: interp stack at 0x5d470000
09-22 09:07:48.515: D/dalvikvm(3845): threadid=12: created from interp
09-22 09:07:48.515: D/dalvikvm(3845): start new thread
09-22 09:07:48.515: D/dalvikvm(3845): threadid=12: notify debugger
09-22 09:07:48.515: D/dalvikvm(3845): threadid=12 (AsyncTask #15): calling run()
09-22 09:07:48.516: D/dalvikvm(3845): create interp thread : stack size=32KB

追了好久,原来是代码问题。

原来的代码是

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_weight="10"
            android:layout_width="match_parent"
            android:layout_height="match_parent">

        <FrameLayout
            android:id="@+id/tabs_container"
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="@dimen/apps_customize_tab_bar_height"
            android:layout_marginTop="@dimen/apps_customize_tab_bar_margin_top"
            android:layout_gravity="center_horizontal">

改成了

        <FrameLayout
            android:id="@android:id/tabcontent"
            android:layout_weight="7"
            android:layout_width="match_parent"
            android:layout_height="0dp">

        <FrameLayout
            android:id="@+id/tabs_container"
            android:layout_weight="1"
            android:layout_width="wrap_content"
            android:layout_height="0dp"
            android:layout_marginTop="@dimen/apps_customize_tab_bar_margin_top"
            android:layout_gravity="center_horizontal">

注意,父布局是一个垂直方向的linearlayout

值得玩味的是,前后界面显示效果是一样的,但修改了之后界面很流畅,也不会出现崩掉的情况了。

因此,按比例显示LinearLayout内各个子控件,需设置android:layout_height="0dp"或android:layout_width="0dp",以防内存占用问题。

你可能感兴趣的:(android,tabhost,布局)