android
文章平均质量分 54
珍心
诚心学习,非诚勿扰
展开
-
程序员知识总结,持续更新中
AndroidAndroid-TextView-文本可选择复制+定制ActionModeJAVAJava-线程池原理原创 2021-08-22 12:43:39 · 195 阅读 · 0 评论 -
Android启动模式碰上startActivityForResult
Android启动模式碰上startActivityForResult原创 2021-08-12 09:30:36 · 202 阅读 · 0 评论 -
Android Native和跨平台交互总结
学而不思则罔,思而不学则殆【Android】Native和JS交互总结Native与JS交互Native与Flutter交互Native与RN交互Native与JS交互飞书总结文档Native与Flutter交互待更新Native与RN交互待更新原创 2021-06-05 22:57:21 · 179 阅读 · 1 评论 -
【Android】一张图让你理解scaleType属性
学而不思则罔,思而不学则殆【Android】一张图让你理解scaleType属性测试context先看原图(实际大小展示)和ImageView的对比测试结果展示总结测试context属性情况机型Pixel C API 30屏幕密度Pixel C API 30时间2021-02-24ImageView长宽50dp*50dp先看原图(实际大小展示)和ImageView的对比这张图展示了ImageView和原图的原始大小对比测试结果展示总结原创 2021-03-21 22:19:34 · 302 阅读 · 0 评论 -
【Android】Android源码下载
学而不思则罔,思而不学则殆【Android】Android源码下载准备虚拟机Ubuntu系统下载Ubuntu下载repo下载修改源代码镜像地址初始化仓库指定版本同步源码树Windows下载准备虚拟机Ubuntu系统下载Ubuntu下载repo下载# repo## 在home下创建bin文件夹mkdir ~/bin ## 把bin文件夹加入环境变量的(临时的)PATH=~/bin:$PATH ## 下载repo脚本curl https://mirrors.tuna.tsi原创 2021-01-17 15:58:27 · 1548 阅读 · 6 评论 -
【Android】Android源码版本
学而不思则罔,思而不学则殆【Android】Android源码版本1.下载manifest.git2.checkout到不同的分支3.下载地址列表4.Android源码存在的分支1.下载manifest.gitgit clone https://android.googlesource.com/platform/manifest.git (需要翻墙)git clone https://aosp.tuna.tsinghua.edu.cn/platform/manifest.git (清华源)原创 2021-01-15 08:30:49 · 3268 阅读 · 1 评论 -
【Android】为啥子线程抛出异常主线程会崩溃?UncaughtExceptionHandler
学而不思则罔,思而不学则殆【Android】为啥子线程抛出异常主线程会崩溃?引言测试Java测试Android测试源码分析+找源码引言测试Java测试Android测试源码分析+找源码原创 2020-12-21 08:34:47 · 3401 阅读 · 3 评论 -
【Android】为啥事件传递这么频繁却不会造成内存抖动
学而不思则罔,思而不学则殆【Android】为啥事件传递这么频繁却不会造成ANR引言测试测试代码测试一 两次手指按下起来测试二 - 不同的页面测试测试三 同一个应用杀进程测试测试四 不同进程测试结果+总结源码分析引言一般在Android开发中我们被要求说在onDraw方法不要新建对象,那为什么整体事件传递的时候,MotionEvent对象一直被回调,却没有造成内存波动,是为什么呢?测试针对这个问题,我专门做了测试,在dispatchTouchEvent方法中打印MotionEvent 对象的ha原创 2020-12-17 08:52:23 · 151 阅读 · 0 评论 -
LRU缓存底层原理大揭秘 - LinkedHashMap
学而不思则罔,思而不学则殆LRU缓存底层原理大揭秘 - LinkedHashMap引言使用范例GlideOkHttpLRU实现原理分析一LRU实现原理分析二LinkedHashMap原理分析测试初始花测试代码测试访问 Test(9)总结引言LRU是Least Recently Used的缩写,即最近最少使用,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。在项目实际开发中很多都有这个缓存算法的身影。使用范例Glidepackage com.bumptech.glide.util;原创 2020-11-29 17:15:13 · 306 阅读 · 0 评论 -
Android 你还在为图片放哪儿纠结吗?图片资源文件夹加载规律
学而不思则罔,思而不学则殆Android 你还在为图片放哪儿纠结吗?图片资源文件夹加载规律引言资源怎么放置图片展示大小内存情况统计结论引言市面上Android机型五花八门,因此开发的时候的UI设计稿理论上需要提供所有的屏幕密度对应的素材。如下是像素密度和对应的资源文件夹。TypefiledpiPictureldpidrawable-ldpi0.7575px*75pxmdpidrawable-mdpi1100px*100pxhdpidrawable原创 2020-11-27 08:47:20 · 1210 阅读 · 0 评论 -
【Android】BroadcastReceiver广播机制简单了解
学而不思则罔,思而不学则殆【Android】BroadcastReceiver广播机制简单了解广播分类标准广播图示有序广播图示注册广播新建一个广播接收器动态注册静态注册广播分类广播类型说明标准广播(normal broadcasts)是一条完全异步执行的广播,广播发出后所有的接受者几乎是在同一时刻受到广播,他们中间没有先后顺序,不能被截断有序广播 (ordered broadcasts)一种同步执行的广播,广播发出后,同一时间只能有一个接受者受到广播,高优先级的接受者可原创 2020-11-03 08:48:51 · 225 阅读 · 1 评论 -
【Android】Fragment简单初识
学而不思则罔,思而不学则殆【Android】Fragment简单初识前言Demo用法生命周期Activity和Fragment通信总结前言Fragment是一种可以嵌套在Activity当中的UI片段。Demo用法生命周期Activity和Fragment通信总结...原创 2020-10-28 07:48:47 · 145 阅读 · 0 评论 -
【Android】canScrollVertically和canScrollHorizontally
学而不思则罔,思而不学则殆【Android】canScrollVertically和canScrollHorizontally简介总结测试测试canScrollVertically测试canScrollHorizontally简介canScrollVertically和canScrollHorizontally是原生View中的方法提供,用来判断View能否在某个方向上滑动。总结测试返回值ture返回值falsecanScrollVertically(1)能够向上滑动不原创 2020-10-11 23:02:07 · 6392 阅读 · 2 评论 -
【Android】OkHttp测试网络连接
学而不思则罔,思而不学则殆【Android】OkHttp测试网络连接引言发送网络请求测试http1. 建立socket连接2. 发送请求3. 接受数据测试post数据测试http://www.baidu.com测试https引言知道OkHttp底层是通过Socket连接,发送网络请求,本篇文章就是模拟这种方式来发送网路请求发送网络请求测试http1. 建立socket连接 public static void main(String[] args) { try {原创 2020-10-10 08:18:38 · 10782 阅读 · 2 评论 -
【Android】图像像素点理解
学而不思则罔,思而不学则殆【Android】图像像素点理解前言图像处理 -ARGB初始原图AlphaR值测试G值测试B值测试非R值测试非G值测试非B值测试高级图片处理取反Demo前言我们知道图像是有像素点组成,那么什么是像素点呢?查看一张图片的属性,该图片的宽度是690像素,高度是460像素。每一个像素点是一个数字,表示颜色的具体值。像素值如下:比如【#AA03DAC5】像素说明举例A透明度AARR值03GG值DABB值C5原创 2020-10-05 20:23:11 · 1454 阅读 · 0 评论 -
【Android】SparseIntArray源码解析
学而不思则罔,思而不学则殆【Android】SparseIntArray源码解析简介对比总结优势:缺点:数据结构测试初始状态添加元素删除元素查找元素参考简介SparseIntArray是Android提供的轻量级的Map<int,int>。SparseIntArray优化了int到int键值对的存储对比总结SparseBooleanArray,SparseLongArray还没有分析,他们的实现规则是一样的,只是存储的数据类型的mValues数组是boo原创 2020-09-29 07:55:29 · 357 阅读 · 0 评论 -
【Android】OkHttp简单入门
学而不思则罔,思而不学则殆【Android】OkHttp简单入门官方文档导入JAR发起请求构建OkHttpClient构建Request同步请求异步请求官方文档https://github.com/square/okhttp导入JAR根据需要选择导入的版本 //Kotlin implementation "com.squareup.okhttp3:okhttp:4.9.0" //Java implementation "com.squareup.okhttp3:o原创 2020-09-24 07:54:24 · 2495 阅读 · 0 评论 -
Android】Android定时任务 -Jobscheduler
学而不思则罔,思而不学则殆【Android】Android定时任务 -Jobscheduler参考简介Demo原理总结参考官方Demo - https://github.com/googlearchive/android-JobScheduler个人Demo - https://github.com/aJanefish/JobSchedulerDemo 简介Jobscheduler的android在5.0上针对于降低功耗而提出来的一种策略方案,自 Android 5.0 发布以来,JobSch原创 2020-09-15 08:39:01 · 2564 阅读 · 0 评论 -
【Android】应用偏好设置
【Android】偏好设置研究偏好设置DeepLink注册启动校验落地页未设置默认落地页已设置默认落地页落地页不存在PMS学而不思则罔,思而不学则殆偏好设置在Android中启动一个Activity(隐式启动),如果落地页>1,那么系统就会弹出选在弹窗,让你选择一个默认的落地页面,如图:通过命令 dumpsys查看当前栈顶的Activity:mResumedActivity: ActivityRecord{4650966 u0 android/com.android.internal.a原创 2020-09-04 21:58:37 · 1125 阅读 · 0 评论 -
【Android】LeakCanary原理解析
【Android】LeakCanary原理解析学而不思则罔,思而不学则殆原创 2020-08-23 21:01:14 · 773 阅读 · 0 评论 -
Andriod-View绘制流程
Andriod-View绘制流程前言绘制流程学而不思则罔,思而不学则殆本文中的源码是基于API29的,即Android11系统版本前言先看一个简单的布局。布局查看工具:Tools–>Layout Inspector通过:Android\Sdk\tools\bin\uiautomatorviewer.bat查看布局其中这个android:id/content的FrameLayout就是Activity中setContentView(R.layout.activity_main)的父原创 2020-08-16 16:57:26 · 287 阅读 · 1 评论 -
【gradle】编译完成直接安装和打开的指定页面的task
快速排序安装和打开方法具体位置督促自己学习总结,特用文章的形式记录下来,共同进步安装和打开方法/** * 安装和打开apk的方法 */void installAndOpen() { println "InstallAndOpen" def isWindows = System.properties['os.name'].contains('windows') || System.properties['os.name'].contains('Windows') print原创 2020-08-16 10:49:17 · 254 阅读 · 0 评论 -
【Android】常见布局xml参数详解
【Android】常见布局xml参数详解marginxxx 和 paddingxxxmarginxxxlayout_marginlayout_marginLeftlayout_marginStartlayout_marginRightlayout_marginEndlayout_marginToplayout_marginBottomlayout_marginHorizontallayout_marginVertical学而不思则罔,思而不学则殆Android的布局参数实在是太多了,而且名称还都挺相近,原创 2020-08-16 09:21:54 · 831 阅读 · 0 评论 -
Andriod-消息机制Handler
Andriod-消息机制原创 2020-08-14 22:59:05 · 541 阅读 · 0 评论 -
SharedPreferences由浅入深学习
SharedPreferences简单介绍功能范例原理学而不思则罔,思而不学则殆功能范例原理 private SharedPreferencesManager(Context context) { sharedPreferences = context.getSharedPreferences("dit_test", Context.MODE_PRIVATE); } public void test() { SharedPreferences原创 2020-08-07 08:47:40 · 224 阅读 · 0 评论 -
AIDL in out inout 的区别
AIDL in out inout 的区别学而不思则罔,思而不学则殆原创 2020-08-02 15:25:53 · 397 阅读 · 1 评论 -
Android IPC机制
Android IPC机制Android中的IPC方式学而不思则罔,思而不学则殆IPC是进程间通信或者跨进程通信,是指两个进程之间进行数据交换的过程。Binder是Android中的一个类,它实现了IBinder接口,从IPC的角度来说,Binder是Android中的一种跨进程通信方式。Binder还可以理解为一种虚拟的物理设备,它的设备驱动是/dev/binder,从Android Framework角度来说,Binder是ServiceManager连接各种Manager和Manage原创 2020-08-02 11:01:18 · 283 阅读 · 0 评论 -
JetPack简单介绍
JetPack简单介绍JetPack有什么ArchitectureLifeCycleNavigationViewModelLiveDataRoomWorkManagerDataBindingPaging学而不思则罔,思而不学则殆JetPack官方链接Jetpack 是一套库、工具和指南,可帮助开发者更轻松地编写优质应用。这些组件可帮助您遵循最佳做法、让您摆脱编写样板代码的工作并简化复杂任务,以便您将精力集中放在所需的代码上。本篇文章不做具体讲述,只是罗列一下JetPack中有什么,能做什么JetP原创 2020-07-26 17:50:54 · 1055 阅读 · 0 评论 -
RecyclerView学习(三)之缓存原理分析
RecyclerView学习(三)之缓存原理分析学而不思则罔,思而不学则殆原创 2020-07-21 08:32:37 · 201 阅读 · 0 评论 -
RecyclerView学习(二)之缓存探索
RecyclerView学习(二)之缓存探索学而不思则罔,思而不学则殆现在有很多文章告诉我们RecyclerView有缓存,分析了很多RecyclerView缓存原理,那么我这篇文章就来分析缓存是怎么回事,探索一下缓存...原创 2020-07-18 07:55:20 · 160 阅读 · 0 评论 -
RecyclerView学习(一)之应用
RecyclerView学习之应用RecyclerView.ViewHolderRecyclerView.AdapatergetItemCountgetItemViewTypeonCreateViewHolderonBindViewHolderRecyclerView应用LinearLayoutManagerVERTICALHORIZONTALGridLayoutManagerStaggeredGridLayoutManager学而不思则罔,思而不学则殆平时项目中使用RecyclerView机会特别多,原创 2020-07-16 08:38:11 · 214 阅读 · 0 评论 -
Android 启动模式总结(一)
Android 启动模式总结(一)四种启动模式学而不思则罔,思而不学则殆Activity是Android四大组件之一,是用户能直接感受的组件。Activity有四种启动模式四种启动模式启动模式说明...原创 2020-07-11 20:17:58 · 234 阅读 · 0 评论 -
android动画之属性动画
补间动画动画分类属性动画动画分类属性动画属性动画是API 11新加入的特性属性动画可以对任意对象进行动画,而不仅仅是View原创 2020-06-27 14:39:50 · 682 阅读 · 0 评论 -
android动画之补间动画
补间动画动画分类代码地址动画分类代码地址Github原创 2020-06-25 10:59:23 · 176 阅读 · 0 评论 -
【Android】【Drawable总结】- Drawable家族
Drawable总结督促自己学习总结,特用文章的形式记录下来,共同进步原创 2020-06-20 08:31:47 · 184 阅读 · 0 评论 -
【Android】应用黑白显示
简单选择排序范例代码督促自己学习总结,特用文章的形式记录下来,共同进步特殊日期应用需要置灰来表达范例先看两张图正常效果置灰后的效果代码在activity中拿到Window中的DecorVIew override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main原创 2020-06-04 08:24:56 · 656 阅读 · 0 评论 -
【常用命令】一键屏幕截屏操作
一键屏幕截屏操作Windows batLinux shell督促自己学习总结,特用文章的形式记录下来,共同进步Windows batLinux shell原创 2020-06-03 07:36:29 · 779 阅读 · 0 评论