首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Android开发(4) 闪屏的实现

概述 闪屏呢,就是SplashScreen,也可以说是启动画面,就是启动的时候,闪(展示)出一个页面,它持续数秒后,自动关闭。...实现 android的实现非常简单,使用Handler对象的postDelayed方法就可以实现。在这个方法里传递一个Runnable对象和一个延迟的时间。...该方法实现了一个延迟执行的效果,延迟的时间由第2个参数指定,单位是毫秒。第一个参数是Runnable对象,里面包含了延迟后需要执行的操作。...具体的操作在run方法的实现里。 具体的实现步骤为: 1.实现一个闪屏窗体,设置背景图片等。 2.实现主窗体,当闪屏结束后会启动该窗体。...2.在闪屏窗体里的onCreate方法重载里,处理一个延迟执行页面跳转的操作。方法如上面的代码所示。在这里跳转到程序的主窗体 完整的代码示例下载

1.1K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android全方位性能调优:启动页面(闪屏页面)的实现

    闪屏页面是指APP刚启动时的页面会自动跳转到主页面 单单实现闪屏页面非常简单。...闪屏界面的作用: 1.展示自己软件的logo,口号标识语等 2.作为广告平台,获取利益 3.加载下一页面(其他Activity或全局)所需要的数据 4.检查更新 首先目录结构 image.png...public void onAnimationRepeat(Animation animation) { } }); } } MainActivity主界面...然后将的内容放在SplashActivity下。 意思就是让SplashActivity的内容先启动。然后再跳转到MainActivity 最后 如果你看到了这里,觉得文章写得不错就给个赞呗?...如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。 希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!

    2.2K10

    Android 性能优化—— 启动优化提升60%

    最后还剩下那些为数不多的组件在主线程初始化动作,例如埋点,点击流,数据库初始化等,不过这些消耗的时间可以在其它地方相抵 需求背景: 应用App通常会设置一个固定的闪屏页展示时间,例如2000ms,所以我们可以根据用户手机的运行速度...//所以闪屏页展示的时间为 2000ms - diffTime. } 所以我们就可以动态的设置应用闪屏的显示时间,尽量让每一部手机展示的时间一致,这样就不会让手机配置较低的用户感觉漫长难熬的闪屏页时间...(例如初始化了2000ms,又要展示2000ms的闪屏页时间.)...,优化用户体验 广告页优化 闪屏页过后就要展示金主爸爸们的广告页了 因为项目中广告页图片有可能是大图,APng动态图片,所以需要将这些图片下载到本地文件,下载完成后再显示,这个过程往往会遇到以下两个问题...或者是其它异步下载操作 在广告页图片 文件流完全写入后 记录图片大小,或者记录一个标识 在下次的广告页加载中可以判断是否已经下载好了广告页图片以及图片是否完整,否则删除并且再次下载图片 另外因为在闪屏页中仍然有

    2K20

    使用CiLocks绕过Android的锁屏功能

    关于CiLocks CiLocks是一款功能强大的Android渗透测试工具,在该工具的帮助下,研究人员可以轻松绕过Android设备的锁屏保护。...功能介绍 爆破四位PIN码; 爆破六位PIN码; 使用字典爆破锁屏密码; 绕过锁屏保护(Antiguard),暂不支持所有操作系统版本; 设备Root(SuperSU),暂不支持所有操作系统版本; 窃取文件...; 重置数据; 工具要求 Adb(Android SDK); USB线缆; Android模拟器(Nethunter/Termux),需Root; 电脑; 兼容性 该工具支持在Windows、Linux...和macOS操作系统平台上正常使用。...工具安装 广大研究人员可以使用下列命令将该项目源码克隆至本地: git clone https://github.com/tegal1337/CiLocks 工具使用 将项目克隆至本地之后,广大研究人员首先需要切换到项目目录下

    1.7K30

    面试官:今日头条启动很快,你觉得可能是做了哪些优化?

    二、启动优化 直奔主题,常见的启动优化方式大概有这些: 闪屏页优化 MultipDex优化(本文重点) 第三方库懒加载 WebView优化 线程优化 系统调用优化 2.1 闪屏页优化 消除启动时的白屏/...需要注意的是闪屏页的Activity,包括闪屏页中引用到的其它类必须在主dex中,不然在MultiDex.install之前加载这些不在主dex中的类会报错Class Not Found。...所以这种方案的缺点很明显: MultiDex加载逻辑放在闪屏页的话,闪屏页中引用到的类都要配置在主dex。...跳转到加载dex的界面,展示一个loading的加载框几秒钟 跳转到闪屏页 实际上是不是这样呢,用4.4机器试下?...总结一下这篇文章主要涉及到哪些内容: 应用启动流程 闪屏页优化 MultiDex 原理分析 ClassLoader 加载一个类的流程分析 热修复原理 MultiDex优化: 介绍了两种方式,一种是直接在闪屏页开个子线程去加载

    1.1K30

    Android开发ListView使用OnScrollListener实现分页加载数据

    上篇博文和大家分享了下拉刷新,这是一个用户体验很好的操作方式。新浪微薄就是使用这样的方式的典型。 还有个问题,当用户从网络上读取微薄的时候。...假设一下子所有载入用户未读的微薄这将耗费比較长的时间,造成不好的用户体验,同一时候一屏的内容也不足以显示如此多的内容。这时候,我们就须要用到还有一个功能,那就是listview的分页了。...="5dp" /> main.xml就不贴了,整个主界面就一个listview。...调用loadmoreDate方法,为listview绑定很多其它的数据。通过adapter的notifyDataSetChanged方法通知listview刷新,显示刚增加的数据。...代码中还增加了一个MaxDateNum变量,用来记录最大的数据数量。 也就是说网络或者其它地方一共的数据。 通过onScroll方法推断用户载入完这些数据后。

    1.1K10

    如何使用Android-PIN-Bruteforce爆破Android的锁屏密码

    写在前面的话 在这篇文章中,我们将教大家如何通过暴力破解Android手机的锁屏密码来解锁Android设备。...Android-PIN-Bruteforce需要使用一条USB OTG线来将锁定的手机跟Nethunter设备连接,它会模拟一个键盘,并自动尝试输入PIN码,然后不断地进行暴力破解尝试。...设备在锁定的Android手机中模拟出一个键盘,这就好比直接将实体键盘跟锁屏手机连接在了一起。...对于三星S5来说,尝试所有可能的4位PIN码需要大概16.6个小时,但如果使用优化后的PIN码列表之后,可能就不需要这么长的时间了。...默认配置下,工具会使用优化后的PIN码列表,用户也可以选择使用自定义PIN码列表。

    3.4K30

    Android性能优化典范 - 第6季

    这次一共才6个小段落,涉及的内容主要有:程序启动时间性能优化的三个方面:优化activity的创建过程,优化application对象的启动过程,正确使用启动显屏达到优化程序启动性能的目的。...在Activity的创建加载过程中,会执行很多的操作,例如设置页面的主题,初始化页面的布局,加载图片,获取网络数据,读写Preference等等。...App Launch Time & Theme Launch Screens 启动闪屏不仅仅可以作为品牌宣传页,还能够减轻用户对启动耗时的感知,但是如果使用不恰当,将适得其反。...如果程序的启动速度足够快,我们看的闪屏窗口停留显示的时间则会很短,但是当程序启动速度偏慢的时候,这个启动闪屏可以一定程度上减轻用户等待的焦虑感,避免用户过于轻易的关闭应用。...对于启动闪屏,正确的使用方法是自定义一张图片,把这张图片通过设置主题的方式显示为启动闪屏,代码执行到主页面的onCreate的时候设置为程序正常的主题。 5.

    71230

    Android 启动优化详解

    、onMeasure、onLayout) (系统) 闪屏显示 (应用) MainActivity创建界面准备 (系统) 主页/首页 显示 (应用) 其他工作(数据的加载,预加载,业务组件初始化) 窗口可操作...闪屏优化: 预览闪屏(今日头条),预览窗口实现成闪屏效果,高端机上体验非常好,不过低端机上会拉长总的闪屏时长(建议在Android6.0以上才启用此方案); //优点:避免点击桌面图标无响应 //缺点...:拉长总的闪屏时长 //(可以配合三方库懒加载,异步初始化等方案使用,减少初始化时长) //1....子线程install(不推荐): 闪屏页开一个子线程去执行MultiDex.install,然后加载完才跳转到主页, 需要注意的是闪屏页的Activity,包括闪屏页中引用到的其它类必须在主dex中,...预加载优化 1. 类预加载: 在Application中提前异步加载初始化耗时较长的类 2. 页面数据预加载: 在主页空闲时,将其它页面的数据加载好保存到内存或数据库 3.

    5.4K85

    启动优化

    、onMeasure、onLayout) (系统) 闪屏显示 (应用) MainActivity创建界面准备 (系统) 主页/首页 显示 (应用) 其他工作(数据的加载,预加载,业务组件初始化) 窗口可操作...闪屏优化: 预览闪屏(今日头条),预览窗口实现成闪屏效果,高端机上体验非常好,不过低端机上会拉长总的闪屏时长(建议在Android6.0以上才启用此方案); //优点:避免点击桌面图标无响应 //缺点...:拉长总的闪屏时长 //(可以配合三方库懒加载,异步初始化等方案使用,减少初始化时长) //1....子线程install(不推荐): 闪屏页开一个子线程去执行MultiDex.install,然后加载完才跳转到主页, 需要注意的是闪屏页的Activity,包括闪屏页中引用到的其它类必须在主dex中,...预加载优化 1. 类预加载: 在Application中提前异步加载初始化耗时较长的类 2. 页面数据预加载: 在主页空闲时,将其它页面的数据加载好保存到内存或数据库 3.

    3.5K54

    Android开发者的Flutter入门(二)

    涉及到的有以下这些点: 闪屏页 自定义布局 下拉刷新 上拉加载更多 使用Assets 路由(页面跳转) 内嵌WebView 闪屏页 由于启动Flutter app的时候需要初始化Flutter...这个时间是比较长的。所以开发Flutter app的时候都需要加一个闪屏页。给Android平台上跑的Flutter app加闪屏页其实是和给一个正常的Android app加闪屏页是一样的。...那段注释的大概意思是说这个标签是用来表示让Flutter在启动过程中保持闪屏页直到第一帧画面被绘制出来。也就是说,闪屏页的隐藏不需要我们来处理了。 接下来看看这个LaunchTheme: ?...LaunchTheme 可见就定义了一个窗口的背景了,也就是我们的闪屏页本尊了,这里你可以把这个drawable改成你自己的闪屏页图片也OK。 至于ios平台的闪屏页怎么弄,可以参考这里。...上拉加载更多 使用Assets 添加 Assets 在Flutter中如果你有图片等文件需要引入到app中,都需要使用Assets, 这个Assets的概念不同于Android中Assets的概念,某种意义上讲

    1.4K20

    一触即发——App启动优化最佳实践

    /topic/performance/launch-time.html 闪屏定义 Android官方的性能优化典范,从第六季开始,发起了一系列针对App启动的优化实践,地址如下: https:...其实最早的时候,闪屏是用来在App未完全启动的时候,让用户不至于困惑App是否启动而加入的一个设计。...而现在的很多App,基本上都把闪屏当做一个广告、宣传的页面了,貌似已经失去了原本的意义,但闪屏,不管怎么说,在一个App启动的时候,都是非常重要的,设计的事情,交给UE吧,开发要做的,就是让App的启动体验...那么这个时间,实际上是Activity启动,到Layout全部显示的过程,但是要注意,这里并不包括数据的加载,因为很多App在加载时会使用懒加载模式,即数据拉取后,再刷新默认的UI。...所以,Google官方提供的解决方案,就是通过android:windowBackground属性,来进行加载前的配置,同时,这里不仅可以配置颜色,还能配置图片,例如,我们可以使用一个layer-list

    1.4K40

    被后台杀死后,Android应用如何重新走闪屏逻辑

    举个例子,最常见的就是闪屏之后跳转主界面,主界面经常有router逻辑,并且其启动模式一般都是singleTask,处理一些推送,所以其onCreate跟onNewIntent都有相应的处理,如果不设置...,在闪屏结束后,在startActivity启动主界面的时候,其实是先走恢复逻辑,然后走singleTask的onNewIntent逻辑,也就是说,onNewIntent跟onCreate是会同时调用的...如果APP被杀,这个时候,希望先跳转主界面,再跳转目标页面,在效果上来看就是,用户先看到目标页面,点击返回的时候再看到主界面,如果加上闪屏,希望达到的效果是先看到闪屏、点击返回看到目标页,再点击返回看到主页面...,基本能够满足APP“死亡”的情况下,先跳转闪屏的需求。...作者:看书的小蜗牛 原文链接:被后台杀死后,Android应用如何重新走闪屏逻辑 仅供参考,欢迎指正

    2.9K40

    【Flutter】Flutter 全面屏适配 ( 需要适配的情况 | Android 设置最大宽高比 | 使用 SafeArea 进行全面屏适配 | 使用 MediaQuery 进行全面屏适配 )

    文章目录 一、Flutter 全面屏适配 二、全面屏适配的情况 三、全面屏适配方法 四、反面示例 ( 留海遮挡内容 ) 五、Android 中配置最大宽高比 六、使用 SafeArea 进行全面屏适配...七、使用 MediaQuery 进行全面屏适配 八、博客资源 一、Flutter 全面屏适配 ---- 传统的 Android 屏幕的宽高比是 16 : 9 , 但是当前主流的全面屏手机 , 基本已经都是...: 在一些手机中 , 顶部有刘海 , 水滴 等摄像头位置 , 底部有话筒 , 这些位置不能填充组件 , 有被阻挡的风险 ; 二、全面屏适配的情况 ---- 全面屏适配要点 : 在页面中使用了 Scaffold...的 appBar 和 bottomNavigationBar , Scaffold 框架会自动按照全面屏的机制进行适配 , 不需要开发者进行手动干预 ; 如果页面中没有使用 Scaffold , 或者使用了...-- 添加 Android 可以适配的最大宽高比为 2.5 : 1 , 适配全面屏添加 --> <meta-data android:name="android.max_aspect

    5.1K20

    Android 开发 - 网络图片加载库 Fresco 的使用。

    概述 Fresco 是 facebook 的开源类库,它支持更有效的加载网络图片以及资源图片。它自带三级缓存功能,让图片显示更高效。 介绍 Fresco 是一个强大的图片加载组件。...Fresco 支持 Android2.3(API level 9) 及其以上系统。 简单使用 简单来说,只需要三步。 1. 添加依赖 2. 初始化Fresco 3....Fresco的对 布局宽高的要求 你必须声明 android:layout_width 和 android:layout_height。 如果没有在XML中声明这两个属性,将无法正确加载图像。...固定宽高比 只有希望显示固定的宽高比时,可以使用wrap_content。...指定 加载时显示的图片 使用 failureImage 指定 加载失败的显示的图片 使用 placeholderImage 指定占位图 <com.facebook.drawee.view.SimpleDraweeView

    2K00

    Android Loader 机制,让你的数据加载更加轻松

    前言 在 Android 中,任何耗时的操作都不能放在 UI 线程中,所以耗时的操作都需要使用异步加载来实现。...Loader 前面两种异步加载方式,相信大家是比较熟悉的,但是第三种方式,可能有些人是没怎么接触过的,其实在 ContentProvider 中也可能存在耗时的操作,这时候也应该使用异步操作,而 Android...3.0 之后最推荐的异步操作就是 Loader,使用 Loader 机制能让我们高效地加载数据 一、Loader 简介 ---- Android 3.0 中引入了 Loader 机制,让开发者能轻松在...该方法必须在为此加载器提供的最后一个数据释放之前调用。此时,我们应该移除所有使用的旧数据(因为它们很快就会被释放),但不要自行释放这些数据,因为这些数据归加载器所有,加载器会处理它们。...Loader 机制的 使用场景 有: 展现某个 Android 手机有多少应用程序 加载手机中的图片和视频资源 访问用户联系人 下面用一个加载手机中的图片文件夹的例子,看看在实际开发中如何运用 Loader

    75510
    领券