介绍前面的内容对Handler做了介绍,也讲解了如何使用handler,但是我们并不知道他的实现原理。本文从源码的角度来分析如何实现的。首先我们得知道Handler,Looper,MessageQueue三者之间的关系-Handler封装了消息的发送,也负责接收消。内部会跟Looper关联。-Looper消息封装的载,内部包含了MessageQueue,负责从MessageQueue取出消息,然后交给Handler处理-MessageQueue就是一个消息队列,负责存储消息,有消息过来就存储...
继续阅读 >
分类:android
2022
08-04
08-04
Android Handler使用案例详解
什么是Handler?Handler可以发送和处理消息对象或Runnable对象,这些消息对象和Runnable对象与一个线程相关联。每个Handler的实例都关联了一个线程和线程的消息队列。当创建了一个Handler对象时,一个线程或消息队列同时也被创建,该Handler对象将发送和处理这些消息或Runnable对象。handler类有两种主要用途:执行Runnable对象,还可以设置延迟。两个线程之间发送消息,主要用来给主线程发送消息更新UI。为什么要用Handle...
继续阅读 >
2022
07-11
07-11
Android handle-message的发送与处理案例详解

2022
07-11
07-11
Android ActivityManager使用案例详解
前言Activity可以获取运行中的应用信息,可以获取到servcie,process,app,memory,Task信息等。获取信息ActivityManager.MemoryInfoMemoryInfo中重要的字段:availMem(系统可用内存),totalMem(总内存),threshold(低内存阈值,即低内存的临界线),lowMemory(是否为低内存状态)Debug.MemoryInfoDebug.MemoryInfo主要用于获取进程下的内存信息。ActivityManager.RunningAppProcessInfo封装运行进程的...
继续阅读 >
2022
07-11
07-11
Android动画之TranslateAnimation用法案例详解

2022
07-11
07-11
Android之AttributeSet案例详解
publicinterfaceAttributeSet{/***Returnsthenumberofattributesavailableintheset.**@returnApositiveinteger,or0ifthesetisempty.*/publicintgetAttributeCount();/***Returnsthenameofthespecifiedattribute.**@paramindexIndexofthedesiredattribute,0...count-1.**@returnAStringcontainingthenameoftheattri...
继续阅读 >
2022
07-11
07-11
Android实现简单画中画功能
Android8.0推出了PictureInPicture(画中画功能),目前只有在8.0以上的系统上支持。对比IOS,IOS的PictureinPicture模式是苹果公司在iOS9中加入的一项多任务功能。下面先看一下效果:相信不少人在平时使用ios手机的app时,已经体验过了,很高兴谷歌也推出了这项功能。使用画中画模式注意点:1.要使用画中画模式的Activity需要在清单文件中添加属性:android:configChanges="screenSize|smallestScreenSize|screenLayout|ori...
继续阅读 >
2022
07-11
07-11
Android AlertDialog六种创建方式案例详解

2022
07-06
07-06
Android 启动模式FLAG_ACTIVITY_CLEAR_TOP案例详解
四种启动模式standard:只要被启动就会创建一个新的singleTop:栈顶复用(当被启动的Activity处于Task栈顶时,可以复用,直接调用onNewIntent方法)singleTask:栈中复用(被启动的Activity已经处于栈中,会将上边的Activity清除出栈,调用onNewIntent)singleInstance全局单实例(应用场景:地图,Activity初始化需要大量资源)Intent的标志位FLAGIntent.FLAG_ACTIVITY_SINGLE_TOP与加载模式singleTop...
继续阅读 >
2022
07-06
07-06
Android实现自动朗读功能(TTS)
前言:Android提供了自动朗读支持。可以对指定文本内容进行朗读,从而发生声音;还允许把文本对应的音频录制成音频文件,方便以后播放。Android的自动朗读主要通过TextToSpeech来完成,构造器如:TextToSpeech(Contextcontext,TextToSpeech.OnInitListennetlistener);当创建TextToSpeech对象时,必须先提供一个OnInitListener监听器——负责监听TextToSpeech的初始化结果。效果图如下:使用TextToSpeech的步骤如下:1、创建Tex...
继续阅读 >
2022
07-06
07-06
Android实现视频的画中画功能
简介:Android8.0(API级别26)允许以画中画(PIP)模式启动Activity。画中画是一种特殊类型的多窗口模式,最常用于视频播放。使用该模式,用户可以通过固定到屏幕一角的小窗口观看视频,同时在应用之间进行导航或浏览主屏幕上的内容。画中画窗口会显示在屏幕的最上层,位于系统选择的一角。您可以将画中画窗口拖动到其他位置(会自动贴边)。当您点按该窗口时,会看到两个特殊的控件:全屏切换开关(位于窗口的中心)和关闭...
继续阅读 >
2022
06-29
06-29
Android实现画中画功能(图片)
简介:Android8.0(API级别26)允许以画中画(PIP)模式启动Activity。画中画是一种特殊类型的多窗口模式,最常用于视频播放。使用该模式,用户可以通过固定到屏幕一角的小窗口观看视频,同时在应用之间进行导航或浏览主屏幕上的内容。画中画窗口会显示在屏幕的最上层,位于系统选择的一角。您可以将画中画窗口拖动到其他位置(会自动贴边)。当您点按该窗口时,会看到两个特殊的控件:全屏切换开关(位于窗口的中心)和关闭...
继续阅读 >
2022
06-27
06-27
Android AlertDialog多种创建方式案例详解

2022
06-13
06-13
Android 通过自定义view实现水波纹效果案例详解

2022
06-13
06-13
Android之FanLayout制作圆弧滑动效果

2022
06-13
06-13
Android Canvas之drawBitmap方法案例详解
