Android技术分享
文章平均质量分 77
诺亚方舟~~
Android程序员
展开
-
Tem模板脚本使用
这个模板程序的作用是方便创建各种工程的代码文件模板的,比如可以创建android中的各种mvp文件,手动创建很麻烦,而且androidStudi4.1后的模板引擎更换了成了插件,开发繁琐,所以开发这个方便大家~~Tem 资源链接:https://pan.baidu.com/s/1nSRBBBxBhpq50ULOVN3bjw提取码:i311Demo:链接:https://pan.baidu.com/s/17e_nzb5AIFMGIX_5qlnf7A提取码:zjfj一、配置环境变量可以把tem.原创 2022-02-22 11:23:57 · 1957 阅读 · 1 评论 -
Android-Launcher-LauncherApplication解析
因为这个app是Launcher,所以这个类是Android系统中的第一个Application的启动,主要做了这些事情各各私有变量的初始化工作为LauncherModel注册广播接收者初始化LauncherProviderpublic class LauncherApplication extends Application { static final String TAG = "LauncherApplication"; /* 这个是为整个Launcerapp 提供原创 2022-01-29 14:31:39 · 3022 阅读 · 0 评论 -
如何调用android 系统隐藏类和方法
如何调用android系统的隐藏类和方法原创 2021-12-08 11:26:19 · 2804 阅读 · 1 评论 -
RN如何使用原生的AndroidUI组件
RN如何使用原生的android UI组件原创 2021-12-01 17:18:36 · 2535 阅读 · 0 评论 -
Android中的Service#bindService流程分析
Android中的Service#bindService流程分析文章目录Android中的Service#bindService流程分析一、概述二、流程分析1、Context#bindService2、ContextImpl#bindService3、ActivityManagerNative#getDefault().bindService4、ActivityManagerProxy#bindService5、ActivityManagerService6、ActivityManagerNative#o原创 2021-11-27 01:10:38 · 1504 阅读 · 0 评论 -
Android系统启动流程
Android系统启动流程文章目录Android系统启动流程一、概述三、流程1、init进程启动2、zygote进程---app_main.cpp3、zygote进程---ZygoteInit.java4、RuntimeInit.zygoteInit5、SystemServer.java6、ActivityManagerService一、概述android版本:7.1.2Android系统的启动从最早的BootLoader->启动linux内核->Android_init进程->a原创 2021-11-22 18:16:19 · 2795 阅读 · 0 评论 -
VMware下Android编译流程
VMware下Android编译流程文章目录VMware下Android编译流程一、环境二、流程1、下载VMware,然后一路安装,配置Ubuntu18.04LTS的镜像,[镜像下载地址](https://www.ubuntu.com/download/desktop)2、进入ubuntu的命令行中3、配置相关工具4、配置repo,5、建一个工作目录6、初始化仓库,用了7、如果需要特定版本8、同步源码9、等了几个小时,下载完成了,必须有success的字样才可以,不然后面编译会出错10、选择要编译的版本1原创 2021-11-16 15:29:00 · 3280 阅读 · 0 评论 -
Android-View-Layout布局过程分析
Android-View-Layout布局过程分析文章目录Android-View-Layout布局过程分析一、概述二、流程1、ViewRootImpl#performTraversals2、ViewRootImpl#performLayout3、View#layout(int l, int t, int r, int b)4、View#onLayout ViewGroup#onLayout5、FrameLayout#onLayout一、概述读这篇文章前,建议先看下Android-View的绘制流原创 2021-11-04 16:30:00 · 1750 阅读 · 0 评论 -
Android-View-Measure测量过程分析
Android-View-Measure测量过程分析文章目录Android-View-Measure测量过程分析一、概述二、问题三、分析1、整体的流程是什么2、过程分析和解读1、ViewRootImpl#performMeasure2、ViewRootImpl#performMeasure3、View#measure()4、View#onMeasure()或者ViewGroup子类#onMeasure()5、ViewGroup#measureChildWithMargins3、MeasureSpec解读4原创 2021-11-04 09:53:17 · 1188 阅读 · 0 评论 -
Android系统中Flag的位操作设计
Android系统中Flag的位设计在android的系统类中经常看到精妙的位设计,从而取代了繁多的boolean类型,结构紧凑例如View中的flag* |-------|-------|-------|-------| * 1 PFLAG_WANTS_FOCUS * 1 PFLAG_FOCUSED * 1原创 2021-11-03 12:07:47 · 555 阅读 · 0 评论 -
Android-View的绘制流程分析
Android-View的绘制流程分析文章目录Android-View的绘制流程分析一、概述二、绘制流程图三、代码分析1、View.requestLayout()2、ViewRootImpl#requestLayout()3、ViewRootImpl#scheduleTraversals()4、ViewRootImpl#TraversalRunnable5、ViewRootImpl#doTraversal()6、ViewRootImpl#performTraversals()7、ViewRootImpl#原创 2021-11-01 17:45:02 · 721 阅读 · 2 评论 -
Android动画-Animation原理解析
Android动画-Animation原理解析一、概述在android中动画分为3类,帧动画、补间动画、属性动画今天要说的就是“补间动画”,补间动画的基类是Animation,具体的实现都在TranslateAnimation、ScaleAnimation、RotateAnimation、AlphaAnimation中实现的这个动画的原理是将控件View在时间上连续的绘制,就形成了动画,但是这个动画有个2个主要缺点1、控件的本身没有移动或者旋转,位置信息没有改变,只是在绘制View的时候进行了矩阵原创 2021-10-29 15:35:44 · 1004 阅读 · 2 评论 -
Android属性动画-ValueAnimator原理解析
Android属性动画-ValueAnimator原理解析一、概述android中的属性动画的实现是通过不断的改变View的属性然后刷新,这个改变过程是通过数据的连续补帧和渐变来实现的,那么这个就需要有个脉冲的类来实现这个功能,而且这个脉冲不是随便写的,必须要根据硬件的配置和设置已经硬件环境来触发,这个过程中有个重要的实现类就是ValueAnimator,今天就来说下这个类实现的来龙去脉二、问题1、ValueAnimator的继承关系是什么,有哪些兄弟类,都什么作用?2、ValueAnimator原创 2021-10-28 11:47:44 · 1468 阅读 · 2 评论 -
EventBus原理解析
EventBus原理解析一、概述EventBus我们都知道是用来做app内部的数据通信的,可以达到很好的解耦合效果,传统的的广播或则回调方式存在着代码耦合度高,代码杂乱,不宜维护的特点,EventBus使用的是订阅者/发布者模式,代码简洁,高度解耦,这个是这个框架产品的背景原因了二、整体架构这个是官方框架的图,这个图描述的结构很清晰Subscriber:这个是订阅者,订阅某个类型的消息比如onMessage(String src) 这个就订阅了接受src的消息,当然代码中还要写入@Subscrb原创 2021-10-26 16:31:52 · 1146 阅读 · 0 评论 -
MultiDex原理分析
MultiDex原理分析一、MultiDex是什么,解决了什么问题MultiDex 顾名思义就是对分包的Dex文件进行读取加载到ClassLoader的库android 早期的版本中,Dex文件(android对java中字节码 class文件 进行了调整,把所有的class打包到一的Dex文件中)的方法数量是有上限的65536,当一个app中的方法数量超过这个值,在app安装的时候就会抛出错误,无法安装为什么Dex的方法数量上限是65536呢?android在安装一个应用的时候其中会有一步工作是原创 2021-10-25 17:52:00 · 2389 阅读 · 0 评论 -
AndroidStudio ffmpeg配置
准备:1、ffmpeg库文件,编译好的,这个可以自己编译一、新建工程1、2、像上面一样创建个C++的工程二、导入ffmpeg库include:这个是放的ffmpeg的头文件lib.armeabi-v7a 这个是存放的so文件,我这里只放了armeabi-v7a,如果要放其他的abi架构可以同样放入三、配置文件1、配置gradle要注意的只有2点这个地方是上面架构 就写什么架构如果有报错这个就导入上面的配置好了gradle就配置好了2、CmakeLists的配置(重要原创 2021-04-22 13:57:50 · 242 阅读 · 0 评论 -
一个Demo让你理解Retrofit的工作原理-动态代理技术
首先先总结下Retrofit核心的三个技术1. java的动态代理技术:2. 解析定义的Service中的各种注解,生成request,然后利用okhttp,生成response3. 利用各种设计模式,尤其是工厂模式,来适配Rxjava 还有动态配置Gson 结果转换器Retrofit 总结起来不外乎就这三点,我们今天只通过一个Demo 分析Retrofit中的动态代理,我后面的文...原创 2020-01-13 11:37:59 · 629 阅读 · 1 评论 -
android中的WebView,JS回调java中的代码线程在子线程
昨天遇到个问题,android中的WebView,js中会调用android的原生代码,但是报了异常,说子线程不能更改UI的那个异常,原来才知道,js回调到java中的方法是浏览器webView在新开的子线程做的操作,如果要更新UI必须要切换到主线程了,@JavascriptInterface private void logg(final String log) ...原创 2019-12-02 10:04:25 · 1476 阅读 · 0 评论 -
AndroidStudio CMakeList配置
AndroidStudio CMakeList配置详解用户可以新建个工程,对C++ include 打勾 就是C++支持的工程了,我们这里要对build.gradle里的相关配置做了解1、build.gradle中的配置externalNativeBuild { cmake { cppFlags "" p...原创 2019-11-26 14:06:49 · 3411 阅读 · 0 评论