当前位置: 首页 > news >正文

用哪个软件做网站哈尔滨新闻头条今日新闻

用哪个软件做网站,哈尔滨新闻头条今日新闻,怎么用css做网站,廊坊做网站的电话一、应用启动的三种状态 冷启动:系统不存在App进程(APP首次启动或APP被完全杀死)时启动APP,此时,APP的启动将经历两个阶段: 1、创建app进程:系统启动应用程序进程和虚拟机,创建app…

一、应用启动的三种状态

冷启动:系统不存在App进程(APP首次启动或APP被完全杀死)时启动APP,此时,APP的启动将经历两个阶段:

1、创建app进程:系统启动应用程序进程和虚拟机,创建app进程,app启动后第一时间显示空白window

2、创建应用程序对象、初始化、加载资源:创建application对象、创建主Activity对象、并执行onCreate方法、创建和显示应用程序主界面。

热启动:当我们按了Home键或其它情况app被切换到后台,再次启动app的过程。热启动是指应用程序在保留应用程序进程的情况下再次启动的启动方式,这种启动方式相对于冷启动要快得多,因为应用程序的许多资源和进程已经存在于系统内存中,不再需要重新创建和加载。

温启动:温启动包含了冷启动的一些操作,由于app进程依然在,温启动只执行冷启动的第二阶段,这代表着它比热启动有更多的开销。
这三种启动状态中,冷启动是一个从无到有的过程最为耗时,也是下面主要的优化方向

二、冷启动优化方式

1、冷启动白屏优化

在app启动之后会立即展示一个空白的window,用于告诉用户当前正在启动app,但是这种方式显然不够美观,下面介绍两种方式对这种现象进行优化

1、禁用app启动时window预览功能(不显示空白的window)

在首屏Activity中添加一个主题,禁用window预览功能,并在manifest中使用

<resources><!-- Base application theme. --><style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"><!-- Customize your theme here. --><item name="colorPrimary">@color/colorPrimary</item><item name="colorPrimaryDark">@color/colorPrimaryDark</item><item name="colorAccent">@color/colorAccent</item></style><!--禁用预览功能主题--><style name="AppSpalshNoPreviewTheme" parent="AppTheme"><item name="android:windowFullscreen">true</item><item name="windowNoTitle">true</item>//禁用预览<item name="android:windowDisablePreview">true</item></style>
</resources>

在manifest中使用

<activity android:name=".SplashActivity"android:theme="@style/AppSpalshNoPreviewTheme"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity>

此时冷启动app,会卡顿一会再进入首activity,感觉就像手机卡了,用户体验不是很好,不建议使用!
2、给启动页Activity添加一个主题,设置一个背景

<!--替换首屏的背景的主题--><style name="AppSpalshBackgroundTheme" parent="AppTheme"><!--设置一个背景图片--><item name="android:windowBackground">@mipmap/wall</item><item name="android:windowFullscreen">true</item><item name="windowNoTitle">true</item></style>

然后在manifest中使用

<activity android:name=".SplashActivity"android:theme="@style/AppSpalshBackgroundTheme"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter>
</activity>

此时白屏就会被替换成首Activity主题中添加的背景图片,从而使程序更加美观,也会让用户有更好的体验

3、使用jetpack splashScreen

参考:深度探讨 Jetpack SplashScreen 如何重塑应用启动画面_setkeepvisiblecondition-CSDN博客

2、主页面布局优化

1、减少布局嵌套层次,复杂布局可以使用ConstraintLayout和RelativeLayout来替换LinearLayout

2、推荐使用merge标签,可以减少一个层级

3、使用ViewStub延迟加载

<ViewStubandroid:id="@+id/contentPanel"android:inflatedId="@+id/inflatedStart"android:layout="@layout/delayInflateLayout"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerInParent="true"/>

4、去掉多余背景色,减少复杂shape的使用

3、Application和主Activity的onCreate方法中的操作优化

1、Application的onCreate流程,对于大型的APP来说,通常会在这里做大量的通用组件的初始化操作;建议:一些三方的SDK,文件,设备,线程池,等等工具类不放在Application初始化,我们可以放到用到的地方才进行初始化操作。如果确实需要在这里初始化,可以开启一个子线程来初始化

2、不要在Application和主Activity的onCreate方法中执行耗时操作。

http://www.dinnco.com/news/4559.html

相关文章:

  • 九牛科技网站开发微信营销谷歌浏览器下载手机版安卓官网
  • java做网站有什么优势公司seo是什么级别
  • 如何查询网站注册信息查询百度联盟
  • WordPress搜索增强插件seo搜索引擎优化是什么
  • 简述建设一个网站的具体过程有创意的网络广告案例
  • 哪个网站可以做片头全国最新疫情最新消息
  • 有什么网站做厂家批发鞋子的惠州百度seo找谁
  • wordpress建站访问不了青岛seo公司
  • 云南做网站的公司东莞seo
  • 网站群建设指南网站策划书的撰写流程
  • 网站开发 兼职挣钱吗百度网盘免费下载
  • 域名后缀html是怎样的网站网络营销是什么专业类别
  • 广州做网站市场优化的含义是什么
  • 怎样提高网站速度网站关键字优化
  • 商城网站如何做网站建设营销推广
  • 赤峰做网站的网络公司优化教程
  • wordpress+谷歌加速seo搜索优化培训
  • 中山祥云做的网站怎么样百度百科百度指数特点
  • 临近做网站新产品宣传推广策划方案
  • 做封面网站企业如何进行品牌推广
  • 昆明网站建设_云南网站建设百度竞价排名一年费用
  • 网站建设公司的优势360推广登录平台
  • 如何用.net做网站品牌策划方案范文
  • 北京网站建设联系电话肇庆疫情最新消息
  • 网站备案 做网站时就需要吗今天发生的重大新闻5条
  • 做社交网站免费seo软件推荐
  • 昆明网站设计公司哪家好小程序开发流程详细
  • 人工做流量的网站长沙网站优化公司
  • 做360网站优化快速最好用的磁力搜索器
  • 马鞍山网站建设怎样推广一个产品