自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

JT的专栏

一只菜鸟的救赎——一周一篇博客

  • 博客(13)
  • 资源 (9)
  • 收藏
  • 关注

原创 (二十) aidl的简单demo

前言:写了个aidl的例子写了一个多小时,Service恁是起不来,最后灵光一闪,手机预制的xx管家会限制自启动和关联启动,emmmm,关了就好了, 真心累。demo地址:Server:点击打开链接Client: 点击打开链接1. aidl介绍抄下百度百科的介绍Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。为了使其他的应用程序也可以访问本应用程序提供...

2018-03-31 16:53:04 934

原创 (十九) 探索static变量在Android应用中的生命周期

前言:最近做项目和code review,都遇到了static变量造成的内存泄露问题,另外我理解static变量会一直存在某个地方占着内存,所以可以不加static的尽量不加,但没什么依据,就想着写个例子大概描述下static在Android应用中的生命周期。demo地址:我的github1. demo写个简单的demo,两个activity共持有一个static变量,然后对其进行++操作,来回切...

2018-03-29 20:23:19 1037

原创 (十八) Android studio升级后无法正常sync第三方库

1.问题我今天手贱升级了Android studio的最新版本,然后Android studio问我要不要将project的gradle plugin和Gradle都升级到最新版本,说是可以最大化使用Android studio功能,我就想那就升级吧。。。然后leakcanary就sync不了了(Gradle sync failed),一直让我更改依赖。2.解决方法将gradle plugin和G...

2018-03-28 23:07:35 3172

原创 (十七)ubuntu 16.04 解决Android studio 创建模拟器失败问题

参考链接:1.点击打开链接(但由于是老回答了,修改方法有变更)2.点击打开链接1.报错如下(查看event log):下午8:51 Emulator: libGL error: unable to load driver: nouveau_dri.so下午8:51 Emulator: libGL error: driver pointer missing下午8:51 Emulator: l...

2018-03-28 21:35:34 4201

原创 (十六) 试着使用RxJava

前言: 看了RxJava的Readme和一些关于RxJava的博客,对RxJava有些简单地了解了,开始练个手熟悉一下,练手过程中发现由于RxJava版本迭代,参考博客中给的例子已经不能直接用了,说明这种第三方库的使用还是有风险的。参考博客:给 Android 开发者的 RxJava 详解基于RxJava版本:2.1.12demo地址:点击打开链接1. RxJava基础知识RxJava正如Read...

2018-03-25 22:13:45 312

原创 (十五)学习RxJava Readme

前言:最近开始看看其他公司的招聘要求,工作三年不能总干重复的活,然后看招聘要求上大多会提及一些我根本没听说过的技术,比如RxJava,现在有空就学习一下。参考的博客:点击打开链接(这篇偏重代码结合原理讲解,我还没看完,我喜欢一边看一边动手)RxJava Readme地址:点击打开链接demo:点击打开链接失败的demo: 点击打开链接1.RxJava简单介绍RxJava is a Java VM ...

2018-03-24 22:51:03 398

原创 (十四)探讨Runnable可以共享数据的原因

前言:最近看博客看到Thread和Runnable的区别,区别主要是两个:1.Thread实现了Runnable,但使用Thread需要继承丧失了继承其他类的能力,Runnable没有这个问题,因为使用中用实现代替了继承。2.Runnable可以共享数据。那为啥呢?之前阅读博客:点击打开链接demo:1.普通的例子2.结合Runnable例子1. 举个类似的例子场景:一个班有50名同学,然后班主任...

2018-03-23 19:46:17 1208

原创 (十三)Executors(线程池)

前言:通过之前的博客对多线程有了或多或少的了解,接触了ExecutorService后顺带地接触到了线程池,当时用的还是固定大小的线程池,其实线程池分好几种,现在正好梳理下基本功能及用法。demo地址:点击打开链接1.Executors的主要apiexecutors的主要创建线程池的api如下图所示,除了newWorkStealingPool之外其他的基本都见过,简单地描述下其他API的作用。ne...

2018-03-18 12:24:12 256

原创 (十二) HashMap

前言:上次面试的时候被问到hashmap使用的数据结构,我记得不大清楚了,不确定地说是用的哈希表,面试官一脸嫌弃。。。现在看了下不是就用到哈希表么,也叫做散列表,难道是精神攻击=-=现在总结一下,以后再遇到就可以笃定地说了。参考博客:HashMap实现原理及源码分析1.HashMap基础知识首先盗一个图,如下的图就是hashMap的数据结构示意图了,称为哈希表,又叫做散列表,先有个印象。横的一排代...

2018-03-17 11:59:47 287

原创 (十一)单例模式的几种实现方式

前言:在看JAVA程序员面试总结,高手整理加强版的时候看到设计模式,突然想起来设计模式都忘了差不多了,其中单例模式还是挺有内涵的,正好总结一下。安利一下《HEAD First设计模式》,我觉得写的特别好~参考博客:1.单例模式的几种用法比较demo:点击打开链接1.单例模式简述单例模式顾名思义就是"一个实例"的设计模式,需要使用设计模式的思路达成调用类的时候都是同一个实例。那么自然的构造函数肯定不...

2018-03-15 19:55:41 499

原创 (十) ExecutorService

前言:上一篇FutureTask的执行过程中其实与ExecutorService有关,但是由于对这个知识点不是很熟,所以就略过了,现在专门就这个知识点学习一下。参考博客:Java线程池 ExecutorServicedemo地址:点击打开链接1. ExecutorService的简单使用简单地看了下ExecutorService的API,感觉还是适合一边看源码一边写例子比较靠谱,一上来就写个简单的...

2018-03-11 13:03:01 344

原创 (九) FutureTask

前言:之前在学习AsyncTask源码的时候接触到了FutureTask/Executor/Callable,由于对这几个类不熟悉,AsyncTask的原理理解的不够透彻,现在就Callable和FutureTask先熟悉一下。demo地址:点击打开链接参考博客:1.深入学习FutureTask1.FutureTask简介在Java中一般通过继承Thread类或者实现Runnable接口这两种方式...

2018-03-08 21:37:13 396

原创 (八)初探Memory Analysis Tool(MAT)

前言:之前一篇博客写了一些关于leakcanary的了解,除此之外还从其他博客上看到有个有类似功能的工具,叫做Memory Analysis Tool,简称MAT,体验一下,看下这两个工具有什么差别。参考:1.Android内存优化(五)详解内存分析工具MATdemo地址:点击打开链接PS:mat结果我放在上面demo的assert文件夹下了1.MAT的下载安装PS:我用的是Ubuntu 16.0...

2018-03-04 11:00:48 1630

flutter_new.pftrace

抓取包含 atrace_categories: "gfx" atrace_categories: "view" atrace_categories: "wm" atrace_categories: "am" atrace_categories: "rs" atrace_categories: "pm" 的trace

2020-05-24

flutter.pftrace

测试flutter还是之前写的https://blog.csdn.net/sinat_20059415/article/details/105920254#t4里的app 用perfetto抓取的trace 抓的不大对,没抓到布局相关trace

2020-05-24

permission.mdj

简而言之就是将当前进程与network绑定起来,这样这个进程以后创建的socket都会绑定到这个network(除了显示绑定到SocketFactory的) 涉及的permission流程图

2019-12-07

setProcessDefaultNetwork.mdj

流程图 简而言之就是将当前进程与network绑定起来,这样这个进程以后创建的socket都会绑定到这个network(除了显示绑定到SocketFactory的)

2019-12-07

ObtailingIpStateDhcp

ObtailingIpStateDhcp 对应的时序图 https://blog.csdn.net/sinat_20059415/article/details/82527796

2018-09-09

WifiAPEnable时序图

https://blog.csdn.net/sinat_20059415/article/details/81050383

2018-07-15

wifi_enable_framework时序图

https://blog.csdn.net/sinat_20059415/article/details/80716763

2018-07-14

Wificond_scan时序图

wificond scan时序图,具体参考https://blog.csdn.net/sinat_20059415/article/details/80945447

2018-07-14

bindService时序图

bindService时序图,可供下载参考,对应博客https://blog.csdn.net/sinat_20059415/article/details/81041522#t0

2018-07-14

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除