Android13 SplashScreen功能源码分析、移除和客制化

Android13 SplashScreen功能源码分析、移除和客制化SplashScreen功能从android12开始添加,本文章分析了SplashScreen的启动流程,整体和独立App移除方案以及客制化获取SplashScreen的window名称在开发者模式将Animation scale调成10x,adb shell输入命令:dumpsys window windo
阅读全文

LineageOS 20/AOSP 生成并替换默认系统签名

LineageOS 20/AOSP 生成并替换默认系统签名本文介绍如何将Lineageos中的testKey替换成releaseKey,基于LineageOS android13。生成系统签名LineageOS编译默认使用test-keys,位于build/target/product/security目录:Android.bp      
阅读全文

AOSP System app Android.bp集成Leakcanary检测内存泄漏

本文以Settings模块为例,继承Leakcanary 2.12确定依赖的aar和jar包。两种方式确定,一种方式是在android studio中通过在build.gradle中引入leaknacary,然后查看external libraries中新增的以来,到maven center下载对应版本的jar包和aar包。 另一种方式是直接在github release页面下载leakcanar
阅读全文

Android PiP画中画支持

  • Adamin90
  • 2023-03-19 23:10:09
  • Android
Android 画中画支持Android8.0开始支持Activity进入画中画模式。画中画是一种特殊类型的多窗口模式。它允许用户在固定在屏幕一角的小窗口观看视频的同时在应用之间切换或浏览主屏幕上的内容。让App进入画中画,需要将Activity设置成支持画中画。画中画交互在触屏设备设备上,用户可以拖拽PiP窗口到另一个位置,从Android S(12)开始,用户也可以:单击窗口显示PiP菜单。双
阅读全文

Android Context Analysis

  • Adamin90
  • 2022-05-05 12:09:45
  • Android
Android Context 分析继承结构类图:ContextWrapper是上下文的包装类,ContextImpl是上下文的实现类,Activity是ContextThemeWrapper的直接子类。getApplicationContext都做了什么  翻看ContextWrapper源码:public class ContextWrapper&nbs
阅读全文

Android Handler 原理-Handler

  • Adamin90
  • 2021-09-25 12:11:55
  • Android
Handler机制是安卓消息循环机制的基石,Handler是Handler机制的指挥者 Handler发送消息方式有两个版本,post和send,post版本发送一个runnable对象,send直接发送Message对象,post和send最终都调用了MessageQueue的enqueueMessage方法。 Handler处理消息的方法是dispatchMessge方法,优先处理msg.callback,其次是Handler的mCallback对象,最后才是handleMessage方法。 Handler移除消息的方法最终都是调用MessageQueue的移除方法。 HandlerThread继承自Thread,简化了在子线程创建Handler的过程,run方法自动调用Looper.prepare和Looper.loop。
阅读全文

Android Handler 原理-Looper

  • Adamin90
  • 2021-09-21 13:08:26
  • Android
Looper主要通过loop方法从MessageQueue中循环获取消息,然后交给Handler处理。 在线程中要先使用Looper.prepare方法创建Looper,再调用Looper.loop方法获取和处理消息。 Android主线程的Looper实在ActivitiyThread的main方法中通过Looper.prepareMainLooper初始化的。
阅读全文

Android Handler原理-MessageQueue

  • Adamin90
  • 2021-09-19 21:59:28
  • Android
MessageQueue负责消息的入队(enQueueMessage)和出队(next),通过Handler间接操作入队,Looper.loop调用next方法循环出队,MessageQueue的初始化在Looper的prepare或prepareMainLooper方法中,mainLooper定义消息队列不可退出。MessageQueue内大部分操作是native层操作,基于epoll机制。同步屏障可以使异步消息优先执行。 MessageQueue内的IdleHandler可以注册为闲时执行,闲的意思使消息队列无消息,或者消息未达到执行时间。
阅读全文

Anroid Handler原理-Message

  • Adamin90
  • 2021-09-16 14:31:02
  • Android
Message是安卓消息传递机制信息的载体,他内部维护了一个链表,指向下一个,维护了一个缓存队列,最多缓存50个对象,避免重复创建对象,Message回收使用了享元模式的设计模式,Message回收会把flags标识成FLAG_IN_USE,消息入队也会标识成IN_USE,获取Message对象一般使用Message.obtain()方法,内部会清空flags标识。 Message默认是同步消息,遵循Looper的同步消息屏障,我们可以通过setAsynchronous方法把消息设置成异步,突破消息屏障,让它优先执行。
阅读全文

flutter2接入高德地图定位,工具类封装,打包安卓apk,自定义签名

flutter 高德定位接入过程和工具类封装
阅读全文
首页 12 末页 共 19 条记录
  • Powered by bjyblog modified by Adam © 2014-2024 www.lixiaopeng.com 版权所有 ICP证:鲁ICP备15039297号
  • 联系邮箱:14846869@qq.com