滑动过快,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",以防内存占用问题。
本文通过调整LinearLayout中子控件的权重与高度属性,解决了快速滑动时Launcher卡顿及崩溃的问题。修改前后的界面显示效果一致,但修改后界面更流畅且稳定。
1421

被折叠的 条评论
为什么被折叠?



