idlehandler实现 android splash 闪屏界面

机械臂电机力矩计算 设计 6 轴机械臂时,电机力矩计算是确保机械臂负载能力、运动精度和安全性的核心环节,需围绕和两大核心展开,结合机械臂结构参数(如关节长度、质量分布)、负载需求(如末端负载重量、惯性)和运动参数(如加速度、角速度)逐步推导。 阅读详情

android 软件有时初始化时有耗时操作,很影响体验。一般的做法是加一层splash view。加载完成再进入操作界面。

这样用户可以在体验上感觉更好一些。


主要逻辑。

是在初始化耗时操作时,显示splash view。 耗时操作结束,显示操作界面。


网上能找到了的各种splash view , 逻辑上大部分是用多线程来做的。如thread 或者AsyncTask。这是splash view 的通用的做法。我认为这种做法逻辑上比较麻烦。

下面提供一种,我认为最简单,最有效的方式。


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setContentView(R.layout.splash);//闪屏界面
		
		IdleHandler handler = new IdleHandler() {

			@Override
			public boolean queueIdle() {
				setContentView(R.layout.activity_main);//操作界面
				
				//long time consuming Operating
				longTime();//耗时操作
				return false;
			}
			
		};
		Looper.myQueue().addIdleHandler(handler);
		
	}

1. 

setContentView(R.layout.splash);//闪屏界面

setContentView 的作用请参考:http://blog.youkuaiyun.com/javalive09/article/details/17451797


2. 

IdleHandler 执行耗时操作。

1)   setContentView(R.layout.activity_main);//操作界面

2)   longTime();//耗时操作

注:1),2)的顺序可以换。因为queueIdle() 整体执行完。才会执行绘制等操作。所有顺序颠倒没关系。


Demo 地址:

http://download.youkuaiyun.com/detail/javalive09/6852655





C#实现图片裁剪 (附完整源码) 阅读详情

相关推荐

2 利用ITK实现多帧Dicom读取,VTK实现数据显示

vtk中也有dicom读写类,但是只能完成单帧DICOM数据读取,这对于实际应用是非常不利的。而ITK可以实现dicom多帧读取,通常情况ITK与VTK也会结合使用(ITK处理,VTK显示),所以就一起学习下吧!

buerbuhuitou的博客 1564

Android 正确的闪屏方式。

From  https://www.bignerdranch.com/blog/splash-screens-the-right-way/ The very idea of the splash screen makes me a little angry. Just saying the phrase makes me cringe. Splash screens just

yuxiaohui78的专栏 1897

MFC停靠窗口实战:CDockablePane从创建到控件布局的完整指南(附残影问题排查)

本文提供了MFC中CDockablePane停靠窗口的完整实战指南,涵盖从自定义窗格类创建、主框架集成、内部控件布局到高级功能定制的全过程。针对开发中常见的“残影”视觉问题,文章深入剖析了其根源,并给出了系统性的排查步骤与解决方案,帮助开发者构建稳定、专业的可停靠用户界面。

sun99的博客 613

给View 添加不停闪烁的动画

private void animation(View view){ AnimationSet animationSet = new AnimationSet(true); // 创建一个AlphaAnimation对象,参数从完全的透明度,到完全的不透明 AlphaAnimation alphaAnimation = new AlphaAnimation(0.1f, 1.0f); //

ttzc121的专栏 835

Sharding-JDBC 系列专题 - 第九篇:高可用性与集群管理

高可用性是指系统在面对故障(如数据库宕机、网络中断)时,能够快速恢复并继续提供服务。Sharding-JDBC 和 Sharding-Proxy 提供了多种机制支持高可用性,同时需要结合底层数据库的高可用方案(如 MySQL 主从复制、MHA)来实现。高可用性和集群管理是 Sharding-JDBC 和 Sharding-Proxy 在生产环境中成功应用的关键。本篇详细介绍了数据库高可用方案、Sharding-JDBC 的故障切换机制、Sharding-Proxy 的集群部署,以及分布式治理功能。

资深架构师分享:深入剖析软件架构,探讨云计算、微服务、大数据等前沿技术。分享实践经验,促进技术交流,共同构建卓越系统。 1393

基于GEC6818开发板的C/C++贪吃蛇小游戏

f.开始游戏(进入游戏,并没有马上开游戏,需要点击播放才能开始)2.相关宏,全局变量(可以根据自己需要进行修改)k.显示文字前的相关初始化。k.自定义font.h文件。1.需要的主要头文件。l.在开发板上显示字1。m.在开发板上显示字2。a.显示固定大小图片。h.线程1:获得坐标。

2301_77273301的博客 2132

Android应用闪屏页延迟跳转的三种写法

原文地址:https://blog.youkuaiyun.com/Lindroid20/article/details/52557766 闪屏页也称之为欢迎页。在打开一个App时,我们第一眼看到的往往是一个闪屏页面,之所以叫闪屏页,是因为它出现之后会短暂地停留几秒钟再跳转到其他页面。闪屏页除了使用户体验更好外,还能给app留出初始化数据的时间。下面,是我总结的闪屏页的三种写法。 准备工作 打开And...

爱生活 488

打通ZYNQ的任督二脉:AXI_FIFO数据交互全解析

FIFO(First In First Out,先进先出)是一种经典的数据缓冲结构,就像排队买票一样,先来的人先得到服务。时钟域交叉(CDC):连接不同时钟频率的模块数据缓冲:平衡生产者和消费者的速度差异流量控制:防止数据丢失或溢出input clk,// 输入AXI4-Stream接口(从PS到PL)// 输出AXI4-Stream接口(从PL到PS)// 状态指示信号// 定义状态机状态// 数据缓存// 8个深度的缓存// 流水线处理寄存器。

QQ_778132974的博客 305

Android app启动闪屏主题设置

以农行掌上银行为例我们来谈谈应用启动后闪白屏,若干秒之后进入Splash界面(欢迎页面)的问题。 其实这种问题不只是农行APP的专利,其它很多APP都有这种问题,默认不对SplashActivity(启动应用的Activity)的主题背景做处理都是白色的,除非为application的主题设置了背景色。可是有很多APP它们启动之后从来没有闪过一下白屏(肉眼分辨不出有闪白屏): 支付宝和

github_2011的博客 8155

视觉自动对焦(Z 轴运动 + 相机拍照 + 清晰度计算) 的核心程序

控制 Z 轴匀速扫动一段距离,在移动过程中等间距触发相机拍照,后台计算每张图的清晰度,最后移动到最清晰的位置,完成自动对焦。

StevenChen的博客 306

Go基础:Go语言详细介绍,环境搭建,及第一个程序详解

Go语言是Google开发的开源编程语言,具有高效、简洁、并发性强等特点。文章从Go语言的诞生背景、核心特性及应用领域展开介绍,并详细说明了Windows、Linux和macOS下的环境搭建步骤,包括安装、环境变量配置及测试方法。最后通过“Hello, World!”程序解析Go语言基本语法,并演示了编译发布和跨平台编译功能。全文涵盖了Go语言从入门到实践的完整流程,适合初学者快速上手。

数据知道的博客 6799

Android启动优化之IdleHandler

学习自:https://juejin.im/post/5a6fd7b86fb9a01ca47ac6e8假想网络很差的这样一个场景,我们非得等网络请求到位以后才更新UI的数据吗?一直给以一个waiting dialog必然极其影响用户体验。所以,我们需要显示预数据,可以是你预定义的默认数据,也可以是用户之前使用过的我们偷偷IO缓存下来的数据。这证明了一个道理:我们需要在UI显示后,再进行耗时操作。(...

qq_36523667的博客 4142

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

Android面试全攻略:从Java基础到架构设计,助你斩获心仪Offer

在移动开发领域,扎实的技术基础和清晰的架构思维是开发者职业发展的核心。理解计算机基础原理,如JVM内存模型与垃圾回收机制,是构建高性能应用的基石。掌握Android平台核心技术,包括四大组件生命周期、View渲染流程及事件分发机制,能有效解决UI卡顿等性能问题。在工程实践中,性能优化和架构设计体现了开发者的综合能力,例如通过启动优化、内存管理及合理的组件化方案,可以显著提升应用质量与团队协作效率。这些技术最终服务于构建稳定、高效的大型应用,也是当前Android面试中的高频考点和深度考察方向。

weixin_33692284的博客 384

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Android闪屏示例程序

用过手机QQ的基本上都知道,刚启动程序时候会在一个界面停留一会,按任意键的就直接跳过,这就是所谓的闪屏。那么,在Android中怎样实现这样的效果呢?  1、新建一个Android项目,命名为SplashyDemo,结构如下所示: 2、 添加资源图片: 首先我们得有闪屏时候显示的图片资源文件,并将图片放在res/drawable目录下,命名为splash.jpg: 这时候会在R类中

Dream It Possible 4955

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

安卓项目实现闪屏功能

方法1:在主文件中写入 1 <span style="font-size:14px;"> // 取消标题 2 this.requestWindowFeature(Window.FEATURE_NO_TITLE); 3 // 取消状态栏 4 this.getWindow().setFlags(Windo...

weixin_34281537的博客 294

Android闪屏效果实现方法

android的实现非常简单,使用Handler对象的postDelayed方法就可以实现。在这个方法里传递一个Runnable对象和一个延迟的时间。该方法实现了一个延迟执行的效果,延迟的时间由第2个参数指定,单位是毫秒。第一个参数是Runnable对象,里面包含了延迟后需要执行的操作。 // 闪屏的核心代码 new Handler().postDelayed(new Runnable() {

a15838319826的博客 1607

Android Splash闪屏

Why Getting users to the content they care about should be your #1 priority Android APP 启动,替代白屏、黑屏、闪屏 当我们的 APP 已经启动但尚未在内存中时,用户点击 app 图标启动应用程序与实际调用启动程序 Activity 的 onCreate()之间可能会有一些延迟。在“冷启动”期间,WindowMa...

ZhangRui的博客 1019

IntentFilter 中 的android:priority 的含义

网上很多人写,提高service的优先级别可以用android:priority = “1000” 的方式来提供servie 的存活时间。其实这种做法没有效果。 关于priority 的属性 ,google 官方文档如下: android:priority The priority that should be given to the parent component with regard

JavaLive09的专栏 1万+

Android中的内存,apk大小,方法数,线程等的限制研究

1.内存限制 内存限制不同机器不同,取决于配置文件  /system/build.prop 中的配置 dalvik.vm.heapstartsize=8m dalvik.vm.heapgrowthlimit=96m dalvik.vm.heapsize=256m 和这3个配置相关 dalvik.vm.heapstartsize 表示 初始内存大小是8m dalvik.vm.

JavaLive09的专栏 7023

android 的activity中addContentView 和 setContentView 的区别

activity 中 addContentView 和 setContentView 的区别是什么? 调用 setContentView 会把 内容区全部清空。然后显示添加的view。 调用addContentView  在内容区视图不变,新增加添加的view到parentView;

JavaLive09的专栏 6357

同一个程序不同activity放入不同的栈中,不同程序的activity放入同一个栈中

android中的栈,逻辑上有任务的含义。bu'tong

JavaLive09的专栏 4274

如何获取设备ID

设备ID: TelephonyManager  getDeviceId() android ID: System.getStrin

JavaLive09的专栏 2895

Service的作用

应用场景: 1.需要不被kill的权限高。

JavaLive09的专栏 2491

Activity和dialog的关系

虽然dialog的构造han'shu 显示是基于activity

JavaLive09的专栏 2080

android 调用手机已安装的音乐播放器 的列表播放音乐

代码如下: Intent intent = new Intent(); intent.setAction(android.content.Intent.ACTION_VIEW); File newFile = new File(path); Uri uri = Uri.fromFile(newFile); intent.setDataA

JavaLive09的专栏 1624

android base64 编码

由于某些系统中只能使用ASCII字符。Base64就是用来将非ASCII字符的数据转换成ASCII字符的一种方法。 Base64中是一种基于64个可打印字符来表示二进制数据的表示方法。Base64中的可打印字符包括字母A-Z、a-z、数字0-9,这样共有62个字符,此外两个可打印符号在不同的系统中而不同。 Base64索引表: Value Char  

JavaLive09的专栏 1559
上一篇: Genymotion does not start Android virtual device
下一篇: android 不同activity切换时它们的回调函数调用逻辑的研究
javalive09
博客等级 码龄16年 43粉丝 281原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值