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

网站首页滚动图片用dw怎么做/百度推广开户费用多少

网站首页滚动图片用dw怎么做,百度推广开户费用多少,单项否决 网站建设,深圳一建公司1、问题描述 当我们首次启动APP时,再到APP的第一个页面展示出来之前,这段时间会有几秒的白屏或者是黑屏出现。这样给用户的体验是十分不好的。 2、问题出现的原因: 当我们在启动一个应用时,系统会检查是否已经存在这样一个进程…

1、问题描述
当我们首次启动APP时,再到APP的第一个页面展示出来之前,这段时间会有几秒的白屏或者是黑屏出现。这样给用户的体验是十分不好的。
2、问题出现的原因:
当我们在启动一个应用时,系统会检查是否已经存在这样一个进程,如果没有,Android系统会创建出一个新的进程分配给该应用,之后会依次创建和初始化Application类、然后启动SplashActivity类的。而显示白黑屏的问题就是在这段时间内产生的。
系统会在绘制页面加载布局之前 ,首先会初始化窗口(Window),而在进行这步操作时,系统会根据我们设置的Theme来指定它的Theme主题颜色。Window布局的顶层是DecorView,StartingWindow显示一个空的DecorView,进而我们在Style中的设置就决定了显示的是白屏还是黑屏。

3、解决方法
就是在应用要启动的第一个页面中设置一个单独的Theme主题

<application
        android:name=".MyApplication"android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:roundIcon="@mipmap/ic_launcher_round"android:supportsRtl="true"android:theme="@style/AppTheme"><activity
            android:name=".ui.splash.SplashActivity"android:theme="@style/SplashTheme"android:configChanges="orientation|keyboardHidden|screenSize"android:launchMode="singleTask"android:screenOrientation="landscape"android:windowSoftInputMode="stateHidden|adjustPan"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /><!-- LAUNCHER --><category android:name="android.intent.category.HOME" /><category android:name="android.intent.category.DEFAULT" /></intent-filter></activity></application>

style主题

    <!-- Application Theme--><style name="AppTheme" parent="Theme.AppCompat.DayNight.NoActionBar"><!-- Customize your theme here. --><item name="colorPrimary">@color/colorPrimary</item><item name="colorPrimaryDark">@color/colorPrimaryDark</item><item name="colorAccent">@color/colorAccent</item></style><!--SplashActivity Theme--><style name="SplashTheme" parent="AppTheme"><item name="android:windowIsTranslucent">true</item>  <!-- 透明背景 --><item name="android:windowNoTitle">true</item><item name="android:windowContentOverlay">@null</item><item name="android:windowBackground">@drawable/bg</item><item name="android:windowFullscreen">true</item></style>

注意这里的主题样式,是针对所有的Activity继承自AppCompatActivity设置的。否则会报错不匹配。
4、拓展
(1)Activity和AppCompatActivity
继承自Activity的不带标题栏,继承自AppCompatActivity的会带标题栏
Android Support Library(安卓兼容包)是为了构件一个可以跑在不同版本Android平台的软件。
重构AppCompat在新的AppCompat中,加入主题色,Toolbar等功能。在新版本中推荐使用AppCompatActivity代替ActionBarActivity。
(2)App的冷启动与热启动
 1、冷启动:当启动应用时,后台没有该应用的进程,这时系统会重新创建一个新的进程分配给该应用,这个启动方式就是冷启动。

 2、热启动:当启动应用时,后台已有该应用的进程(例:按back键、home键,应用虽然会退出,但是该应用的进程是依然会保留在后台,可进入任务列表查看),所以在已有进程的情况下,这种启动会从已有的进程中来启动应用,这个方式叫热启动。

特点

  1、冷启动:冷启动因为系统会重新创建一个新的进程分配给它,所以会先创建和初始化Application类,再创建和初始化MainActivity类(包括一系列的测量、布局、绘制),最后显示在界面上。

  2、热启动:热启动因为会从已有的进程中来启动,所以热启动就不会走Application这步了,而是直接走MainActivity(包括一系列的测量、布局、绘制),所以热启动的过程只需要创建和初始化一个MainActivity就行了,而不必创建和初始化Application,因为一个应用从新进程的创建到进程的销毁,Application只会初始化一次。
(3)App启动的过程
1、点击桌面图标,Launcher会启动程序默认的Acticity,之后再按照程序的逻辑启动各种Activity

   2、启动Activity都需要借助应用程序框架层的ActivityManagerService服务进程(Service也是由ActivityManagerService进程来启动的);在Android应用程序框架层中,ActivityManagerService是一个非常重要的接口,

  它不但负责启动Activity和Service,还负责管理Activity和Service。

    ①. 无论是通过Launcher来启动Activity,还是通过Activity内部调用startActivity接口来启动新的Activity,都通过Binder进程间通信进入到ActivityManagerService进程中,并且调用ActivityManagerService.startActivity接口;

    ②. ActivityManagerService调用ActivityStack.startActivityMayWait来做准备要启动的Activity的相关信息;

    ③. ActivityStack通知ApplicationThread要进行Activity启动调度了,这里的ApplicationThread代表的是调用ActivityManagerService.startActivity接口的进程,对于通过点击应用程序图标的情景来说,这个进程就是Launcher了,

    而对于通过在Activity内部调用startActivity的情景来说,这个进程就是这个Activity所在的进程了;

    ④. ApplicationThread不执行真正的启动操作,它通过调用ActivityManagerService.activityPaused接口进入到ActivityManagerService进程中,看看是否需要创建新的进程来启动Activity;

    ⑤. 对于通过点击应用程序图标来启动Activity的情景来说,ActivityManagerService在这一步中,会调用startProcessLocked来创建一个新的进程,而对于通过在Activity内部调用startActivity来启动新的Activity来说,这一步是不需要执行的,

    因为新的Activity就在原来的Activity所在的进程中进行启动;

    ⑥. ActivityManagerServic调用ApplicationThread.scheduleLaunchActivity接口,通知相应的进程执行启动Activity的操作;

    ⑦. ApplicationThread把这个启动Activity的操作转发给ActivityThread,ActivityThread通过ClassLoader导入相应的Activity类,然后把它启动起来。

http://www.jmfq.cn/news/5086081.html

相关文章:

  • 外包一个企业网站多少钱/武汉seo搜索引擎优化
  • 如何备份wordpress网站/互动营销案例
  • 兰州网站制作培训班/宁波网站优化公司价格
  • 百度做公司网站需要多少钱/学网络营销有用吗
  • 济宁市兖州区城市建设局网站/网络营销网站有哪些
  • 西安市招聘网最新招聘信息/网络推广优化招聘
  • 郑州网站开发公/百度网首页登录入口
  • 长沙口碑好网站建设/游戏推广文案
  • 微信微网站是什么格式的/软文推广案例
  • 山东卓商网站建设公司/网站内容优化怎么去优化呢
  • 政府网站集约化建设建议/相似图片在线查找
  • 怎么做网站赚钱吗/什么平台打广告比较好免费的
  • 深圳网站如何制作/百度搜索推广的定义
  • 阿里巴巴怎么做公司网站/官网建站多少钱
  • 网站建设 沈阳/搜索引擎营销与seo优化
  • 大型网站开发项目合同/竞价外包代运营公司
  • 广州个性化网站建设/谷歌搜索网页版入口
  • 独立网站需要怎么做/在线培训系统app
  • 招聘做微信公众号网站维护/seo查询5118
  • 霍山做网站/企业邮箱
  • 做怎么网站收费/谷歌seo怎么做
  • 网络游戏网站网址大全/如何免费搭建自己的网站
  • 网站建设 人性的弱点/游戏推广平台有哪些
  • 慈溪市建设厅网站/在线生成个人网站
  • 专业提供网站建设服务/网站怎么做优化排名
  • bc源码 网站 搭建/电话号码宣传广告
  • 北京做网站设计招聘/网络营销推广方式包括
  • 伊春seo公司/百度首页排名优化哪家专业
  • 中纪委网站两学一做征文/谷歌账号注册
  • 网站怎么做付款平台/汕头seo外包机构