android启动页优化实践】的更多相关文章

最近观看友盟统计发现App启动页跳出率很高,观看启动页的平均启动时间为2.8s,如下图: 所以一个很现实的问题就出来了,优化启动页面... (一)做了什么? 我们的启动页面主要用于展示启动页面,加载网络配置信息: (二)那些可以优化的地方? 展示启动页面的逻辑没办法优化了,看来只能在加载网络请求的时候考虑考虑了. (三)启动页逻辑? 启动页启动时显示启动页面,然后有两个异步的网络请求请求网络配置信息,默认存在一个延迟消息3S秒钟之后跳转主界面: (四)如何优化? 现在的逻辑是无论配置信息是否拉取…
本文由爱奇艺技术团队原创分享,原题<爱奇艺Android客户端启动优化与分析>. 1.引言 互联网领域里有个八秒定律,如果网页打开时间超过8秒,便会有超过70%的用户放弃等待,对Android APP而言,要求更加严格,如果系统无响应时间超过5秒,便会出现ANR,APP可能会被强制关闭,因此,启动时间作为一个重要的性能指标,关系着用户的第一体验. 爱奇艺安卓APP非常重视启动速度的优化,本文将从启动过程.启动时间测量.启动优化.以及后续监控等方面分享我们在启动优化方面积累的经验.   相关文章…
大家会发现一个空项目,从手机桌面打开app是秒启动.但是对于自己开发的项目,有时会发现打开app的时候,会有短暂的1秒--2秒的白屏或者黑屏,然后才进入到程序界面. 个人理解为我们自己实现的Application文件里面做了较多的初始化操作,当这些初始化操作完成后才进入到第一个Activity,这段初始化的时间因为没有界面,应用便会因为主题的类别而显示白屏或者黑屏. 构成白屏/黑屏的原因代码如下: /*** @author xqx* @email djlxqx@163.com* blog:htt…
打开软件的时候相当慢,会有白屏显示,这样的用户体验效果不好,所以需要增加一个启动页来过渡.步骤如下: 第一步:根据自己需求找到一个png图片,用于启动展示,放在Drawable 文件夹下,我这里命名为Loading.png. 第二步:在Drawable 文件夹下创建 splashscreen.xml,用于展示Loading.png. <?xml version="1.0" encoding="utf-8" ?> <bitmap xmlns:andr…
本文记录了Android App优化需要用到的工具和以及在实践中的Tips.也算对我这半年来部分工作的总结. 工具 Hierarchy Viewer 是 Android SDK 自带的 Layout 嵌套检查工具,以可视化的布局角度直观获取 Layout 布局设计和各种属性信息,来帮助我们完成优化布局的设计.需要注意的是,出于安全考虑 Hierarchy Viewer 只能连接Android开发版手机(需要安装ViewServer)或是模拟器. 注意上图右半部分显示的时间 Measure: 0.…
package com.goodness.goodness; import android.content.Context; import android.content.Intent; import android.os.Handler; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Window; public class MainActivity…
地址:http://download.csdn.net/detail/u013424496/9539810…
1.Android启动页面 思路:新建一个组件作为 Android 的启动页,index.android.js 的初始化窗口改为 Android启动页,设置定时器,使其在1.5秒后自动跳转到 Main 组件. GDLaunchPage.js /** * Android 启动页面 */ import React, { Component } from 'react'; import { StyleSheet, Image, Dimensions, } from 'react-native'; //…
版权声明:本文为HaiyuKing原创文章,转载请注明出处! 前言 StartingWindow 的处理方式: 使用系统默认的 StartingWindow :用户点了应用图标启动应用,马上弹出系统默认的 StartingWindow(就是做动画的那个 Window) ,等应用加载好第一帧之后,StartingWindow 消失,显示应用第一帧,无缝衔接,体验还不错,这也是通常大部分 Android 应用的场景:比如大部分 Android 系统的自带应用,即刻.汽车之家等 自己定制简单的 Sta…
遇到的情况: app启动时进入启动页时出现白屏页,然后大概一秒之后就出现了背景图片. 原因:app启动时加载的是windows背景,之后再加载布局文件的,所以开始的黑屏/白屏就是windows的背景颜色,因此我们只要在启动页设置windows背景颜色就好了,那么在哪里设置呢?  就是theme里面. 解决办法:参考:[Android Drawable 那些不为人知的高效用法] [Android 启动APP时黑屏白屏的三个解决方案] 首先看之前的布局文件xml写法 <?xml version=&quo…
前言最近高德地图APP完成了一次启动优化专项,超预期将双端启动的耗时都降低了65%以上,iOS在iPhone7上速度达到了400毫秒以内.就像产品们用后说的,快到不习惯.算一下每天为用户省下的时间,还是蛮有成就感的,本文做个小结. (文中配图均为多才多艺的技术哥哥手绘) 启动阶段性能多维度分析 要优化,首先要做到的是对启动阶段的各个性能纬度做分析,包括主线程耗时.CPU.内存.I/O.网络.这样才能更加全面的掌握启动阶段的开销,找出不合理的方法调用. 启动越快,更多的方法调用就应该做成按需执行,…
了解 Glow 的朋友应该知道,我们主营四款 App,分别是Eve.Glow.Nuture和Baby.作为创业公司,我们的四款 App 都处于高速开发中,平均每个 Android App 由两人负责开发,包括 Android 和 Server 开发,在满足 PM 各种需求的同时,我们的 session crash free 率保持不低于 99.8%,其中两款 App 接近 100%. 本文将对 Glow 当前 Android App 中对现有工具的探索及优化进行讲解,希望对读者有所启发. 整体结…
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/5157308.html 前言 经常看到一些刚刚接触Android测试的小伙伴在论坛或者QQ群里问这样的问题:如何知道一个App的包名呢?它的启动页的Activity又是什么呢? 之前博客里也忽略了这一块,这一节我就专门来介绍一下. 包名 包名(Package name)在Android系统中是判断一个App的唯一标识,不同的App可以有同样的名字,但是它的包…
公司的一个app的启动页想改为gif图,之前没有在android中加入过gif,所以赶紧饿补! 前言 我们都知道ImageView是不能完美加载Gif格式的图片,如果我们在ImageView中src指定的资源是gif格式的话,我们将会惊喜的发觉画面永远停留在第一帧,也就是不会有动画效果.当然,经过略加改造,我们是可以让gif在ImageView上完美加载的. 正文 Android给我们提供了一个Movie类,可以让我们实现加载gif格式资源的目标.我们需要导入android.graphics.M…
版权声明:本文为博主原创文章,未经博主允许不得转载.   目录(?)[+]   首先我们来分析一下,想要实现启动页的功能,大家第一个想到的就是使用ViewPager,使用ViewPager确实是一种比较好的方式,而且思路也是比较清晰的.今天我们就一起来学习一下,使用ViewPager和ViewFlipper实现启动页带小点功能. 先展示一下图片,看看是不是你想要的效果.  1.ViewPager和ViewFlipper的区别 ViewFlipper继承ViewAnimator,切换view的时候…
先将启动页放到项目资源中,图片一般是1080*1920的jpg. 新建一个activity,如图: 创建成功之后,打开刚刚创建的activity,来进行代码的编写: public class BZLaunchActivity extends AppCompatActivity { private final int SPLASH_DISPLAY_LENGHT = 2000;//两秒后进入系统,时间可自行调整 @Override protected void onCreate(Bundle sav…
对与Android的项目来说,app的启动速度是非常重要的.因为用户打开你的app给别人的第一体验就是打开软件的速度.但是app的启动速度是比较难以缩短的,因为一般来说开发者在app的启动入口都会创建一些比较耗时的操作,比方说使用SharedPreferences,初始化一些第三方的类库还有进行网络请求的判断.关于启动的优化可以分为两个方向来进行.第一:使用多线程充分利用好cup的运行效率提高运行时的速度:第二:使用延迟加载的方式将不重要的一些耗时的操作放到界面显示之后在做. 第一点使用异步方法…
Flutter学习资源汇总持续更新中...... Flutter官方网站 Flutter中文网 wendux的Flutter实战 Flutter官方exampleflutter_gallery 阿里巴巴咸鱼团队系列文章 阿里巴巴flutter-go,flutter 开发者帮助 APP,包含 flutter 常用 140+ 组件的demo 演示与中文文档 玩Android跨平台项目 非常有用的Json转Model插件 Flutter-Notebook,提供了很多优秀样例和Demo 前言 这是一款使…
本文内容整理自公众号腾讯Bugly,感谢原作者的分享. 1.问题背景 对于Android应用来说,内存向来是比较重要的性能指标.内存占用过高,会影响应用的流畅度,甚至引发OOM,非常影响用户体验.因此,内存优化也向来是行业内的重点工作项和难点工作项. 手Q在很早之前就开发了很多内存优化技术: 1)自研内存泄露检测系统 LeakInspector天网: LeakInspector是一套完整内存泄露检测系统:能够自动检测应用内存泄露问题:并提供兜底回收以及自动提单功能: 2)图片引用大图告警: 能够…
转载: Android App 启动页(Splash)黑/白闪屏现象产生原因与解决办法   首先感谢博主分享,本文作为学习记录 惊鸿一瞥 微信的启动页,相信大家都不陌生. 不知道大家有没有发现一个现象,微信每次启动的时候,是直接进入这个启动页面. 我的意思是,很多应用,往往会先白屏停顿一下后再进入启动页面(Splash).为了印证这一点,我把手机上所有的App都点了一遍.选几个例子 如下图: 微信:  斗鱼:  斗鱼和微信是直接进入了,他们的Splash页面. 知乎:  B站:  知乎和B站要先…
C#编译器优化那点事   使用C#编写程序,给最终用户的程序,是需要使用release配置的,而release配置和debug配置,有一个关键区别,就是release的编译器优化默认是启用的.优化代码开关即optimize开关,和debug开关一起,有以下几种组合. 在Visual Sutdio中新建一个C#项目时,项目的“调试”(Debug)配置的是/optimize-和/debug:full开关,而“发布”(Release)配置指定的是/optimize+和/debug:pdbonly开关…
一.启动页黑屏的问题 1.1 问题现象描述 Android App 启动页面黑屏的问题,现象表现为:Android 开发 App 启动时若没有做特殊处理的话,会出现一瞬间的白屏现象.即使启动页界面就加载一个布局,不做其他耗时处理,貌似也会出现一瞬间的白屏问题.当从桌面 Launcher 的小图标点击冷启动一个 App 的时候,程序需要进行一些基本的初始化操作,例如在Application 或者SplashActivity中做了很多耗时操作,例如初始化第三方SDK等,当手机性能不好,配置不高时,该…
在app自动化的时候,经常被问道如何知道app的包名和启动页名称.这个问题很简单: 1. 最直接的方式,去问开发啊,他们告诉你app的包名和启动页. 2. 如果你比较腼腆,又能看到/懂代码,自己把代码搞到,然后去里面扒出来. 1)如果是公司内部的app,下载最新代码,然后去代码里面找包名和启动页. 2)如果不是公司的app,就反编译一下,然后去代码里面找包名和启动页. 3. 使用adb命令去扒包名和启动页. 1)打开CMD/shell, 执行如下命令:adb shell dumpsys acti…
本文实例讲述了Android启动画面的实现方法.分享给大家供大家参考.具体分析如下: 在应用程序中经常用到启动画面,会启动一个后台线程为主程序的运行准备资源.Android要实现启动画面可以这样做: 这是splash.xml布局文件的代码: <LinearLayout   xmlns:android="http://schemas.android.com/apk/res/android"   android:layout_height="fill_parent"…
0 背景 早前严选 Android 工程,使用原生 Intent 方式做页面跳转,为规范参数传递,做了编码规范,使用静态方法的方式唤起 Activity public static void start(Context context, ComposedOrderModel model, String skuList) { Intent intent = new Intent(context, OrderCommoditiesActivity.class); ... context.startA…
本文由百度技术团队“蔡锐”原创发表于“百度App技术”公众号,原题为<百度App网络深度优化系列<三>弱网优化>,感谢原作者的无私分享. 一.前言 网络优化解决的核心问题有三个,第一是安全问题,我们在<百度APP移动端网络深度优化实践分享(一):DNS优化篇>进行了详细的讲解.第二是速度问题,我们在<百度APP移动端网络深度优化实践分享(二):网络连接优化篇>也做了详细的介绍.第三是弱网问题,它是网络优化中最为复杂且需要反复验证和分析的问题,我们的<百…
转载请注明本文出自大苞米的博客(http://blog.csdn.net/a396901990),谢谢支持! 写在最前: 本文的思路主要借鉴了2014年AnDevCon开发者大会的一个演讲PPT,加上把网上搜集的各种内存零散知识点进行汇总.挑选.简化后整理而成. 所以我将本文定义为一个工具类的文章,如果你在Android开发中遇到关于内存问题,或者马上要参加面试,或者就是单纯的学习或复习一下内存相关知识,都欢迎阅读.(本文最后我会尽量列出所参考的文章). 内存简介:   RAM(random a…
说到 Android 系统手机,大部分人的印象是用了一段时间就变得有点卡顿,有些程序在运行期间莫名其妙的出现崩溃,打开系统文件夹一看,发现多了很多文件,然后用手机管家 APP 不断地进行清理优化 ,才感觉运行速度稍微提高了点,就算手机在各种性能跑分软件面前分数遥遥领先,还是感觉无论有多大的内存空间都远远不够用.相信每个使用 Android 系统的用户都有过以上类似经历,确实,Android 系统在流畅性方面不如 IOS 系统,为何呢,明明在看手机硬件配置上时,Android 设备都不会输于 IO…
本文由百度技术团队“蔡锐”原创发表于“百度App技术”公众号,原题为<百度App网络深度优化系列<二>连接优化>,感谢原作者的无私分享. 一.前言 在<百度APP移动端网络深度优化实践分享(一):DNS优化篇>里大家了解到网络优化一般会首选优化DNS,而接下来的HTTP协议成为优化的重点,一般优化者会选择协议切换,合并请求,精简数据包大小等手段来对HTTP协议进行优化,严谨的说这都不属于网络优化的范畴. HTTP协议的基础是连接,所以我们的<百度APP移动端网络深…
本文引用了颜向群发表于高可用架构公众号上的文章<聊聊HTTPS环境DNS优化:美图App请求耗时节约近半案例>的部分内容,感谢原作者. 1.引言 移动互联网时代,APP 厂商之间的竞争非常激烈,而良好的用户体验是必须优先考虑的,美图产品以高颜值著称,对产品的用户体验非常重视.从技术的角度来看,客户端的体验优化当中 DNS 优化是非常关键的一环,怎么降低 DNS 的耗时.怎么减少域名劫持等问题,都是大家需要重点解决的研发问题. 本文介绍美图APP在移动端DNS优化的实践(主要针对HTTPS协议)…