Android优化——UI优化 使用stytle

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android优化——UI优化 使用stytle相关的知识,希望对你有一定的参考价值。

使用style替换背景,防止Activity黑色背景闪过


1.原来的布局

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:background="@drawable/img_bg"
              android:orientation="horizontal">

    <Button
        android:layout_weight="1"
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button2"/>

    <Button
        android:layout_weight="1"
        android:layout_width="0"
        android:layout_height="wrap_content"
        android:text="New Button1"
        android:id="@+id/button3"/>


</LinearLayout>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

技术分享

这里我们用了android:background="@drawable/img_bg"来设置了背景图片,但是当我们启动activity是有时候会出现一个黑色的背景,然后才出现我们设置的背景,给用户感觉我们的程序运行的很慢

2.解决办法

<resources>
    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="android:background">@drawable/img_bg</item>
    </style>
</resources>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

我们可以给主题设置一个背景,这样就不会给用户感觉我们的应用卡住了

3.知其然知其所以然

1.因为程序的主题是在程序启动的时候加载
2.Layout中设置的背景实在Activity启动之后才加载
所以会让用户看到一个黑色背景闪过的过程。

以上是关于Android优化——UI优化 使用stytle的主要内容,如果未能解决你的问题,请参考以下文章

Android优化——UI优化

我的Android进阶之旅关于Android使用bindService()绑定服务,onServiceConnected()方法是异步回调的问题以及借鉴NotificationManager来优化(代

我的Android进阶之旅关于Android使用bindService()绑定服务,onServiceConnected()方法是异步回调的问题以及借鉴NotificationManager来优化(代

Android优化——UI优化优化布局层次

android内存优化4—对界面UI的优化

Android性能优化问题总结