Android 10 启动分析之init语法详解

目录正文ActionsServicesOptionsTriggersCommandsImports正文init.rc脚本包含5种类型,Action(动作),Commands(命令), Services(服务),Options(选项), Imports(导入)。以上这些都...

2022-12-26

Android Studio生成 Flutter 模板代码技巧详解

目录正文快捷输入AS 文件模板如何创建模板代码模板示例如何使用模板正文在开发 Flutter 时,常常需要创建新的页面或新的 Widget,每次都重新手写总是很麻烦,这篇文章介绍一些减...

2022-12-26

详解Android消息机制完整的执行流程

目录从Handler.post()说起MessageQueue.enqueueMessage()添加消息至队列中Looper.loop()分发消息MessageQueue.next()获取消息总结从Handler.post()说起Handler.post()是用...

2022-12-26

Android10 Binder原理概述深入解析

目录IPC工具介绍PipeSignmessage queueshared memorySocketAIDLHIDLIPC工具介绍Binder作为Android 众多的IPC通讯手段之一,在Framework的数据传输中起到极为关键的作用。为什...

2022-12-26

声网SDK教程Android UIKit 实时视频通话添加自定义背景

目录正文01 前期准备02 设置03 视频通话用户界面04 使用虚拟背景导入必要的依赖声明一些变量用虚拟背景加入视频通话切换虚拟背景应用虚拟背景图像应用虚拟背景色应用虚拟背...

2022-12-26

Android本地存储方法浅析介绍

目录本地存储案例原理介绍设置文本输入框存储读取数据本地存储案例该方法仅适用于保存一些比较简单的,运行时并不占用过多内存的小字段原理介绍我们需要完成这么一个 app:在文...

2022-12-26

Android开发数据结构算法ArrayList源码详解

目录简介ArrayList源码讲解初始化扩容增加元素一个元素一堆元素删除元素一个元素一堆元素修改元素查询元素总结ArrayList优点ArrayList的缺点简介ArrayList是List接口的一个...

2022-12-26

设置界面开发Preference Library数据重建机制详解

目录一.界面重建后设置项数据如何复原的?1. onSaveInstanceState()保存数据2. onRestoreInstanceState()恢复数据二.Preference的销毁重建方法是如何收到通知的呢?总结一.界面...

2022-12-26

ContentProvider客户端处理provider逻辑分析

目录引言1. 获取 provider1.1 等待 provider 发布1.2 安装 provider2. provider 实现多进程实例3. 两种 provider 区别结束引言前面一篇文章分析了 AMS 端处理 provider 的...

2022-12-26

Android广播事件流程与广播ANR原理深入刨析

目录序言一.基本流程和概念二.无序广播流程注册广播接收者流程广播通知流程三.有序广播流程四.广播ANR流程五.总结六.扩展问题序言本想写广播流程中ANR是如何触发的,但是如果...

2022-12-26

Kotlin 协程的取消机制详细解读

目录引言协程的状态取消协程的用法协程取消的有效性如何写出可以取消的代码在 finally 中释放资源使用不可取消的 blockCancellationException超时取消异步的超时和资源取消...

2022-12-26

Flutter路由框架Fluro使用教程详细讲解

目录1.Navigator使用简介2.fluro1.配置2.使用方法3.路由拦截3.封装1.Navigator使用简介使用Flutter 的Navigator 导航器可以实现页面的跳转,Navigator的使用方法简单介绍一下...

2022-12-26

Android Flutter实现自由落体弹跳动画效果

目录粒子运动概念如何保持持续运动 创建粒子对象创建粒子控制器初始化粒子创建画板多粒子实现八大行星加速度自由落体弹跳总结粒子运动概念粒子运动是将对象按照一定物理公...

2022-12-26

PowerManagerService之自动灭屏流程解析

目录前言自动灭屏自动灭屏小结延长亮屏时间结束前言PowerManagerService之亮屏流程分析 归纳了亮屏/灭屏的通用流程,PowerManagerService之手动灭屏 对手动灭屏流程进行了整...

2022-12-26

Jetpack Compose Canvas绘制超详细介绍

目录1. Canvas2. 绘制方法1. drawLine2. drawRect3. drawRoundRect4. drawImage5. drawCircle6. drawArc7. drawPath8. drawPoints3. DrawScope拓展方法1. inset2. translat...

2022-12-26

FFmpeg Principle分析Out put File 数据结构

目录struct OutputFilestruct OutputFile 字段解析struct OutputFilestruct OutputFile 是单个输出文件的管理器。之前在 parse_optgroup() 处理好的 OptionsContext o 变量...

2022-12-26

Android性能优化死锁监控知识点详解

目录前言死锁检测线程Block状态获取当前线程所请求的锁通过锁获取当前持有的线程线程启动nativePeer 与 native Thread tid 与java Thread tiddlsym与调用系统限制死锁检测...

2022-12-26

Android常用设计模式之原型模式详解

目录前言一、基本使用二、对象与集合的使用三、浅拷贝与深拷贝四、Kotlin的应用总结前言什么是原型模式?它是指创建对象的种类,并通过拷贝这些原型创建新的对象。它是用于创建...

2022-12-26

Android实现一键锁屏功能

android实现一键锁屏创建AdminReceiverimport android.app.admin.DeviceAdminReceiver;public class AdminReceiver extends DeviceAdminReceiver {}在xml中创建device_admi...

2022-12-26

Android Flutter实现视频上滑翻页效果的示例代码

目录前言PageView 组件介绍使用示例PageController 应用前言我们在短视频应用中经常会看到不停上滑浏览下一条视频的沉浸式交互效果,这种交互能够让用户不停地翻页,直到找到喜...

2022-12-26

Android垂直切换的圆角Banner与垂直指示器相关介绍与应用详解

目录一、三方库介绍二、效果展示三、实现方案(一)总体效果(二)垂直切换与圆角效果(三)垂直指示器四、详细实现讲解(一)布局文件(二)首页 Banner 相关代码(三)Banner 适配器(四)垂直指示器...

2022-12-26

Jetpack Compose状态专篇精讲

目录1.remember2.rememberSaveable3.状态提升4.状态管理将Composable作为可信来源将状态容器作为可信来源将 ViewModel 作为可信来源应用中的状态是指可以随时间变化的任何...

2022-12-26

Android 使用 okhttp3和retrofit2 进行单文件和多文件上传

目录前言一、单文件上传1、apiService中2、acivity代码二、多文件上传 1、apiservice中2、acivity代码总结前言开发项目中需要进行单文件多文件的上传功能,下面演示的ApiResp...

2022-12-26

Jetpack Compose常用组件详细介绍

目录1. Text2. Image3. LazyColumn1. Text日常最常用的应该就是显示文字,所以有必要说一下Text控件。首先源码如下:@Composablefun Text( text: String, modifier: Modi...

2022-12-26

Android App设计规范深入讲解

目录前言一,界面设计与代码逻辑二,利用XML标记描绘应用界面三,使用Java代码书写程序逻辑总结前言主要是介绍了App工程的源码设计规范,首先App将看得见的界面设计与看不见的代码...

2022-12-26

FFmpeg Principle学习open_output_file打开输出文件

目录open_output_file()打开输出文件流程open_output_file()函数流程图open_output_file()函数重点open_output_file()打开输出文件流程open_output_file()打开输出文件的流...

2022-12-26

Flutter状态管理Bloc使用示例详解

目录前言两种使用模式Cubit模式最后前言目前Flutter三大主流状态管理框架分别是provider、flutter_bloc、getx,三大状态管理框架各有优劣,本篇文章将介绍其中的flutter_bloc框...

2022-12-26

关于Android Activity之间跳转问题(Intent)

当一个Acitivity需要启动另一个Activity时,通过Intent来表达自己的意图,告知系统启动哪个Activity。private ImageButton i2;     i2=findViewById(R.id.i2); i2....

2022-12-26

Android Handler runWithScissors 梳理流程解析

目录前言runWithScissors梳理流程存在的问题总结前言看 WMS 代码的时候看到了 Handler.runWithScissors 方法,所以来恶补一下public static WindowManagerService main(final...

2022-12-26

Android Binder 通信原理图文详解

目录前言1. Binder的作用2. 进程与Binder驱动如何通信3. ServiceManager进程的作用Binder Client、Binder Server、ServiceManager关系ServiceManager注册进Binder4. 进程添...

2022-12-26

Android Java crash 处理流程详解

目录一、背景二、App端Crash注册2.1 commonInit()2.2 KillApplicationHandler 类2.2.1 ensureLogging()2.2.2 ApplicationErrorReport三、AMS端处理崩溃逻辑3.1 AMS.handleA...

2022-12-26

Jetpack Compose入门基础全面精讲

目录1. Column2. Row3. Box4. BoxWithConstraints5. ConstraintLayout6. 参考1. Column子元素按竖直顺序排列,相当于竖直方向的LinearLayout。@Composableinline fun Column(...

2022-12-26

PowerManagerService之手动灭屏流程示例分析

目录前言1. 灭屏流程2. 设备进入打盹状态2.1 更新用户行为2.2 更新显示屏的电源状态2.3 更新梦境状态3. 启动doze dream结束前言PowerManagerService之亮屏流程分析 分析了...

2022-12-26

Jetpack Compose自定义动画与Animatable详解

目录AnimationSpec1.spring2.tween3.keyframes4.repeatable5.snapAnimatable本篇主要是自定义动画与Animatable。AnimationSpec上一篇中,出现了多次animationSpec属性,它是用...

2022-12-26

FFmpeg Principle学习new_video_stream添加视频输出流

目录new_video_stream() 函数流程流程图原因解析滤镜出口里面获取宽高new_video_stream() 函数流程new_video_stream() 函数的流程相对来说比较简单,主要的逻辑如下:1, 调 new_...

2022-12-26

Jetpack navigation组件超详细讲解

目录依赖项创建导航图导航宿主导航到目的地传递参数NavigationUI多模块导航导航是指支持用户导航、进入和退出应用中不同内容片段的交互。Android Jetpack 的导航组件可帮助...

2022-12-26

PowerManagerService之亮屏流程示例分析

目录前言Power键亮屏1. 更新 wakefulness1.1 更新 PMS 的 wakefulness1.2 保存用户行为时间1.3 更新 wakefulness 小结2. 更新电源状态2.1 更新用户行为2.2 更新显示屏的电...

2022-12-26

Android的RV列表刷新详解Payload与Diff方式异同

目录前言一、Payload的刷新二、Diff的刷新与快速实现方法三、DiffUtil的封装小结前言RecyclerView是我们常用的列表控件,一般来说当Item的数据改变的时候我们需要刷新当前的I...

2022-12-26

Android Jetpack组件DataBinding详解

目录Android之DataBindingDataBindingDataBinding的优势亮点使用DataBinding单向绑定数据双向绑定Android之DataBindingDataBinding数据绑定DataBinding的优势代码更加简洁,...

2022-12-26

Android RecyclerView使用ListAdapter高效刷新数据的操作方法

目录问题DiffUtils使用ListAdapter使用参考文献我们都知道,当RecyclerView数据源更新后,还需要通过adapter调用对应的方法,从而让RecyclerView重新绘制页面本次也是介绍了用...

2022-12-26

Jetpack Compose修饰符专项精讲

目录1.常用修饰符2.修饰符顺序本篇开始介绍Jetpack Compose 中的修饰符Modifier。修饰符可以用来执行以下操作:更改可组合项的大小、布局、行为和外观。添加信息,如无障碍标签...

2022-12-26

Android系统状态栏定制图标显示逻辑控制

目录背景状态栏是什么?系统ICON布局StatusIconContainer -- onMeasureStatusIconContainer -- onLayoutStatusIconContainer -- onDraw状态栏图标显示逻辑控制关键view管理图...

2022-12-26

PowerManagerService之唤醒锁的使用获取创建示例解析

目录前言使用唤醒锁创建唤醒锁获取唤醒锁归纳唤醒锁更新请求策略唤醒锁保持 CPU 运行释放锁结束前言在开发中,或多或少会使用唤醒锁(wake lock),有的是为了保持屏幕长亮,有的是...

2022-12-26

init output stream初始化输出流源码分析

目录正文音频 OutputStream初始化init_output_stream() 函数流程图正文init_output_stream() 是一个公共的函数,无论是音频,还是视频的输出流的初始化,都是通过它来完成的。ini...

2022-12-26

Android开发框架MVC-MVP-MVVM-MVI的演变Demo

目录Android框架的历史演变一. MVC框架二. MVP框架三. MVVM框架3.1 半MVVM框架3.2 带DataBinding的MVVM框架四. MVI框架Android框架的历史演变记得最开始入门Android的时候,...

2022-12-26

Android Doze模式下Alarm定时任务实现流程详解

目录定时任务Doze模式定时任务Timer不太适合那些需要长期在后台运行的定时任务,因为每个手机都有自己的休眠策略,Android手机长时间不操作就会导致Timer定时任务无法执行,而Ala...

2022-12-26

Android Retrofit原理深入探索

目录序章Retrofit构建过程创建网络请求接口实例过程执行请求过程总结序章首先引入依赖 implementation 'com.squareup.retrofit2:retrofit:2.9.0'在原理之前,我们...

2022-12-26

Android自定义view实现滚动选择控件详解

目录前言需求编写代码主要问题前言上篇文章通过一个有header和footer的滚动控件(Viewgroup)学了下MeasureSpec、onMeasure以及onLayout,接下来就用一个滚动选择的控件(View)来学...

2022-12-26

Android转场动画深入分析探究

目录早期的转场Material Design 转场动画Material Motion 动画MaterialContainerTransformShared axisFade ThroughFade总结早期的转场最初,两个Activity之间的切换的过度动...

2022-12-26

Android 补间动画及组合AnimationSet常用方法详解

目录补间动画RotateAnimation动画示例ScaleAnimation动画示例TranslateAnimation动画示例AlphaAnimation动画示例AnimationSet 动画组合动画示例补间动画Android常用的四种...

2022-12-26
返回顶部
顶部