- 博客(60)
- 资源 (2)
- 收藏
- 关注
原创 知识梳理系列之十——Lifecycle/LiveData/ViewModel的使用总结与原理简析
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-03-11 17:31:18
860
2
原创 kotlin multiplatform mobile初探
kotlin multiplatform mobile 初探kotlin multiplatform mobile programing 的探索一、什么是kmm?1.1 引用9月15日 kmm发布alpha版本时的一句话:1.2 详细描述二、km支持的平台2.1 支持的平台2.2 工程结构三、kmm的基本原理3.1 Kotlin Native3.2 LLVM3.3 expect/actual四、比较4.1 自身设计思想导致的优缺点4.2 与React Native/Flutter的比较kotlin mu
2020-12-31 12:18:00
2300
原创 关于Android启动优化的总结分享
关于Android启动优化的总结分享一、Android应用的启动过程1.Android 冷启动的过程2.Android 热启动的过程二、Android冷启动慢的多种因素1.Android 应用在启动过程中做了过多加载、SDK初始化2.Android 应用方法数超过65535 分包引入问题(分版本)3.禁用了WindowPreview4.JSBundle的初始化和数据传递耗时5.Lottie动效读写文件I/O耗时6.其他耗时操作阻塞主线程更新三、Android 冷启动的甄别手段和优化方向1.甄别手段Trace
2020-09-23 19:48:02
505
原创 知识梳理系列之八——Activity的启动过程
知识梳理系列之八——Activity的启动过程总结流程总结时序图总结在应用内,某Activity A通过调用startActivity(Intent)方法启动Activity B的过程:流程总结调用startActivityForResult,使用Instrumentation调用execStartActivity,其中会传入Context、Intent、ActivityThread.mApplicationThread等引用;execStartActivity方法中通过Binder机制调用Ac
2020-07-28 18:45:46
524
原创 知识梳理系列之七——Glide的原理
知识梳理系列之七——Glide的原理Glide的基本使用Glide源码解析Glide的三步曲分别做了什么?1. 第一步Glide.with(Context);1.1 初探with1.2 getRetriever获取请求管理索引器对象1.3 RequestManagerRetriever.get()获取Glide.with()的返回值1.4 总结:2. 第二步RequestManager.load2.1 创建RequestBuilder2.2 load3. 第三步into3.1 看来重点在这了,毕竟load没
2020-07-27 16:50:26
553
原创 知识梳理系列之六——HTTPS的握手过程
面中金问到,记录下:知识梳理系列之六——HTTPS握手过程使用RSA加密算法的HTTPS握手过程使用DH加密算法的HTTPS握手过程使用RSA加密算法的HTTPS握手过程1. 先梳理下RSA算法:了解下素数、互素、欧拉公式、费马小定理:如果一个正整数只能被自身和1整除,那么这个数是素数(或者称为质数);如果两个或两个以上的正整数的公因数只有1,那么称这些数互素(或者称为互质);已知两个素数P1、P2,它们的乘积:n=P1×P2;n = P1 \times P2; n=P1×P2;欧拉公式
2020-07-15 15:48:34
798
2
原创 知识梳理系列之五——OkHttp的原理
知识梳理系列之五——OkHttp的原理OkHttp原理解析OkHttp的使用流程源码解析OkHttpClient的实例化过程和构造器模式Request和Call的实例化过程发起同步execute和异步enqueue请求责任链模式重试和重定向桥接Cache处理ConnectionCallServer分发器Dispatcher、线程池、连接池OkHttp原理解析OkHttp的使用流程源码解析OkHttpClient的实例化过程和构造器模式Request和Call的实例化过程发起同步execute和异步
2020-07-06 18:00:17
597
原创 知识梳理系列之四——网络协议(TCP/IP、Http/Https)
知识梳理系列之四——网络协议TCP/IP、Http/Https网络分层模型若干问题OSI七层模型和TCP/IP四层模型TCP/IP的握手与挥手三次握手:为什么要三次握手?四次挥手为什么要四次挥手?Http协议与Https协议网络分层模型若干问题本文是对基本知识的个人总结,旨在面试遇到时,能逻辑条理清晰。不是全面知识学习文本。OSI七层模型和TCP/IP四层模型OSI七层网络模型和TCP/IP四层模型图示TCP/IP是一组协议族,包含很多协议,常见的比如UDP、HTTP、S-HTTP(HT
2020-07-03 20:59:39
892
原创 知识梳理系列之三——同步锁、三大性质等并发编程要点
知识梳理系列之二——同步锁、三大性质等并发编程要点并发编程要点知识梳理系列之二——同步锁、三大性质等并发编程要点三大性质指令重排volatile关键字同步锁Synchonizedwait/sleep/notify/notifyAll三大性质原子性用来保证一个程序操作被完整的执行,因为在CPU中是一条条指令执行,一个编码操作可能需要执行多条指令,具备原子性的操作,要么完整的被执行,要么不执行;有序性保证程序的逻辑先后顺序;可见性在共享数据被多线程使用时,各个线程会一次读取数据并
2020-07-02 16:38:00
309
原创 知识梳理系列之二——消息机制中的若干重要问题
知识梳理之二——消息机制轮询器Looper创建和轮询三级目录这是一个老生常谈的知识,本文不是全面文章,主要记录一些不常用到但是非常有用的知识点轮询器Looper创建和轮询一、MainThread的Looper创建和准备Android 的启动过程是: 创建init进程 --> Zygote进程 --> SystemServer进程 --> 各个应用进程在SystemServer进程启动后(由Zygote进程fork出)在调用run方法时,调用了Looper.prepareMai
2020-07-02 16:19:33
485
原创 Java基础知识——String/StringBuilder/StringBuffer的区别
Java基础——String/StringBuilder/StringBuffer的区别1. Stringpublic final class String implements java.io.Serializable, Comparable<String>, Charsequence { ... private final char[] value; ...}String x = "ab";x += "cd";a. JDK 1.8之前,需要三块内存完成操作,一是原来的"
2020-07-01 11:55:13
184
原创 知识梳理系列之一——多线程
梳理知识系列之一——多线程本文简明的梳理下多线程基本知识梳理知识系列之一梳理知识系列之一——多线程几个问题1. 为什么要有多线程2. 有哪些方式实现在工作线程中执行操作2.1 Thread/Runnable/FutrueTask 知识及其优缺点2.2 AsyncTask的原理2.3 HandlerThread和IntentService2.4 Executors线程池原理3.并发变成Netty中线程池、时间循环(附)几个问题1. 为什么要有多线程个人的语言总结:在做复杂计算时(比如在CPU中做复
2020-06-12 15:55:54
340
原创 Android 图片(Bitmap对象)在内存中所占大小的计算
Android Bitmap 在内存中所占大小计算显示有关概念简单说明计算Bitmap大小显示有关概念简单说明常用的图片格式如 .jpg 、.png、.bmp(Windows)、.gif 等等 是以一定压缩方式压缩的图片文件Android 常用的显示格式包括 RGB_4444、ARGB_8888、RGB565等, Windows 打开图片文件的属性一般有位深度的描述。这个表示的意思是(以A...
2020-04-14 16:59:03
1225
原创 SVN的有关问题
删除SVN关联1. 删除工程目录下的.svn文件夹(此文件夹一般隐藏的,需要显示隐藏的文件夹)2. 删除.idea文件下的cvs.xml文件中的<cvs="svn"/>为<cvs=""/>...
2018-04-02 11:47:51
212
原创 2018春季面试
最近工作不忙出去面试了一些单位,就面试情况,总结下:面试常见问题:1.Android 部分:1.Activity Fragment 生命周期方法;2.Handler机制的原理, 在工作线程中,实现Handler(主线程中Android已经帮你实现,就是考察看源码、HandlerThread);3.Thread 工作线程、线程池的使用、管理;4.单例模式 (考虑线程安全);...
2018-04-02 11:27:27
442
1
原创 分享到QQ踩坑过程——分享之二
分享部分的第二篇——分享给QQ好友上一篇文章详细介绍了微信分享的一些踩坑过程。这一片主要是分享给QQ好友。废话不说,先看效果图。腾讯开放平台注册开发者账号配置Android Studio工程调用API/封装业务代码调用实现其他注意事项注册开发者账号并获取APP_ID在腾讯开放平台中,按要求注册账户,登录,进入管理中心,然后“创建应用” 创建应用
2018-01-15 17:37:30
2038
1
原创 微信分享功能踩坑过程
最近,做一款应用的分享功能,主要业务是分享一个网页给微信、QQ好友,然后用的是微信开发平台、腾讯开放平台的官方SDK分享。其中遇到了一些打不开、分享的坑,填好后,做了一下封装。总结记录一下。
2017-12-25 15:40:59
5277
2
原创 适配Android 7.0出现读取外部存储问题解决方法
在Android 7.0适配过程中,调用相机/相册、读取指定目录下的文件时,未处理好权限问题时,会出现以下异常:android.os.FileUriExposedException: file:///storage/...
2017-10-18 15:52:36
5290
原创 Android 6.0以上权限处理
最近在开发过程中,遇到适配Android 6.0及以上版本的权限处理问题。java.lang.SecurityException: was not grant permission: ...
2017-10-18 11:10:03
746
原创 Retrofit2.0+Rxjava2.0+MVP使用小记(一)
Retrofit+Rxjava+MVP已经出来很长一段时间了,一直以来只是懂一些皮毛,最近静下来学习了一下。决定总结一下使用的方法,于是有了本系列使用小记,这是第一篇。本文仅供参考学习,如有不妥之处,还望批评指正。
2017-09-26 10:16:28
351
原创 ExpandableListView使用中的问题与解决
ExpandableListView不是什么新鲜的东西了。最近使用到了。记录一下,在修改下拉箭头图片、位置;设置分割线、点击事件分发等问题的内容。
2017-09-06 16:00:27
860
原创 Android Shape绘制背景
需要绘制一个背景,上面有圆角,然后四边有边框。是Shape很简单的用法。大概是这样的,就是有几层绘制出来的。
2017-09-06 15:21:29
2219
原创 Android关于列表卡顿的问题(或者说两个列表数据关联的问题)
最近在做一个TV项目时遇到了一个小问题: 主要是这样一种业务,一个主列表,主要是显示video文件的名称,右边一个列表显示详细的信息,包括文件名称、存储路径、视频时长、文件大小等等信息。左边的主列表切换不同的Item时,右边的信息对应变化。 在我使用常规的方式编写列表的时候出现了卡顿的问题,最终发现原因并解决了问题。
2017-06-15 11:42:08
823
转载 JAVA动态代理的理解(转载)
在学习Spring的时候,我们知道Spring主要有两大思想,一个是IoC,另一个就是AOP,对于IoC,依赖注入就不用多说了,而对于Spring的核心AOP来说,我们不但要知道怎么通过AOP来满足的我们的功能,我们更需要学习的是其底层是怎么样的一个原理,而AOP的原理就是java的动态代理机制,所以本篇随笔就是对java的动态机制进行一个回顾。
2017-04-15 09:36:50
278
原创 《Java 编程思想》学习小结 (一)
抽空在业余时间看看书,复习复习基础知识,提升下自己的素养吧。 这是一个面试官给的小Tips,读了两章,做一个小结。
2017-03-21 16:07:39
390
转载 Android 启动过程
一直在做Android开发,除了了解一点Android的基本框架,对于Android的启动过程不胜了解。最近抽空了解了一点。
2017-03-09 14:15:46
285
原创 图片加载神装——Picasso
已经用过Square公司的很多重量级开源框架了(OkHttp, Retrofit),现在来了解一下加载图片的重量级框架!异步缓存加载图片只需一步~~~
2017-01-06 16:32:48
547
原创 Git Bash 和 AS share Project on GitHub
已经写了一篇关于用AS上传工程到GitHub上的博客了。不过比较浅显。最近了解了一些再总结一下。
2016-12-17 12:03:32
1386
原创 FloatingActionButton 之实现卫星菜单
最近遇到了实现卫星菜单效果的需求,使用的是FloatingActionButton/FloatingActionMenu这个控件。总结一下使用心得。
2016-12-16 18:26:11
667
原创 ContentProvider 操作其他应用的数据库
最近,用到四大组件之一的ContentProvider来操作其他应用的数据库。总结几个遇到的问题。
2016-12-03 17:22:54
604
原创 Android TV横向滚动实现Launcher的RecyclerView第二弹
上一篇粗略的讲了一下RecyclerView,这一篇主要是就横向滚动的做一下补充 Demo下载关于RecyclerView 的焦点获取以及其他问题补充记录
2016-11-11 14:27:57
3209
原创 Android TV横向滚动网格布局——RecyclerView的使用
最近在做一个Android盒子的项目,主要是Launcher有一个横向滚动的界面。主要使用的是RecyclerView。总结一下。
2016-11-04 16:11:00
8634
1
get application signature and copy to use it
2017-12-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人