自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

乌龟先生的博客

生活就像过山车,起起伏伏,难得是内心的从容和谈定。

  • 博客(58)
  • 资源 (12)
  • 收藏
  • 关注

原创 Android Studio Build model...卡住问题——正确的设置/取消代理(工具的细节问题)

我们在Android Studio的偏好设置里面设置了代码,但是想取消代理时,如果只是在下面配置代理的位置取消,那你就年轻了,还得需要在user_name/.gradle/gradle.propterties文件中删掉gradle的代理,否则可能有些朋友在公司网络下,就没法访问内网的maven仓库了,会导致编译失败错误。

2023-03-25 23:42:00 178

原创 Android的LMK机制学习笔记

通过阅读lowmemorykiller.c源码,分析Android的LMK机制的基本流程。

2023-02-07 00:10:56 187

原创 RemoteServiceException: can‘t deliver broadcast 问题分析

源码层面分析RemoteServiceException: can't deliver broadcast 问题的根本原因。

2022-12-08 00:21:59 1321 7

原创 ViewModel实例什么时候被回收

一、ViewModel存在的意义二、怎么创建?三、生命周期?什么时候被销毁?

2022-10-16 23:45:10 745

原创 Kotlin中两种定义静态方法的方式对比

最近工作中遇到一个问题,通用的工具方法,出于kotlin和java代码中都能方便调用,于是想定义到静态工具类中。但是发现使用Companion对象+@JvmStatic的方式定义的方法,通过工具转成字节码再反编译之后,查看还是跟Java中的静态方法不一样,于是改成了顶层函数的方式声明,故出此文做下对比,以记录两种定义静态方法的差别。

2022-10-10 00:08:01 666

原创 Leanback控件的item中存在可上焦子View时的寻焦逻辑处理

LeanBack的VerticalGridView中嵌套HorizontalGridView结构,中间的item一般作为一个整体来进行寻焦和响应事件,但是在其内部添加可上焦的子View之后,会存在寻焦和边界检测的问题。

2022-09-29 23:33:02 96

原创 Mac os镜像下载地址记录

mark一下mac os镜像的神级网站。

2022-09-24 16:15:59 1160

原创 adb常用命令总结[持续更新]

总结开发常用的adb命令,提高开发效率。

2022-09-03 13:52:10 826

原创 记录下代码重构怎么做更稳妥的思考

1. 追本溯源,清楚逻辑2. 代码未动,方案先行3. 及时记录改动点、影响面4. 改完一个点,要自测自测自测最小化commit,message要规范清晰

2022-07-12 00:19:22 112

原创 Gradle开启R8反混淆对不上问题解决记录

记录使用Android-SDK/tools下的proguardgui工具,在开启R8编译后,根据mapping.txt混淆没效果问题。

2022-06-25 12:40:18 742

原创 bugreport工具的使用

记录使用bugreport获取应用异常日志的方法。

2022-06-24 12:42:38 528

原创 OkHttp报unexcepted end of stream on...错误分析

OkHttp报unexcepted end of stream on...错误分析和解决方法。

2022-06-24 12:30:27 5620 2

原创 Android中View绘制原理分析

1.Activity/Fragment/Dialog,Window和View的三类核心成员的关系2.View和WindowManager的关系2.ViewRootImpl的作用2.View绘制是从何时开始的?是怎么分发到我们View上的?3.View/ViewGroup的三大工作阶段4.理解了View的工作原理后再看自定义View的实现思路View与ViewRootImpl的绑定5.小结

2022-04-23 01:22:51 157

原创 OkHttp请求时Keep-Alive无法生效问题修复记录

一、问题情形还原二、问题定位过程三、小结

2021-12-01 00:12:02 3985

原创 OKHttp源码学习笔记(一)

OKHttp源码的学习笔记,记录一下。

2021-11-30 22:13:26 119

原创 jvm类加载机制学习基础(一)

一.类加载机制理解 二.什么情况下会触发类的加载?三.类加载会经历哪些阶段?四. 类加载时类成员的加载顺序五. 类加载器的双亲委派模型

2020-12-25 21:06:12 1506 2

原创 从源码角度学习ThreadLocal原理

1.ThreadLocal基本介绍相信使用java语言做开发的同学,肯定多或多或少了解过ThreadLocal,简单来说就是一个“以当前Thread对象作为key的key-value存储结构,能实现多线程的读写安全”。那么他究竟是怎么实现的呢,它的实现源码并不是很长,下面直接从源码上来分析。先看一个使用ThreadLocal存取数据的例子:1.1 直接使用无参构造函数创建对象//使用无参构造函数创建ThreadLocal实例,默认值为nullfinal ThreadLocal<Integer

2020-05-17 20:50:50 111

原创 Service组件StartService()方式启动流程分析

1.前言AMS是Android四大组件工作的核心服务类,Activity和Service的启动过程均由其完成。2.ContextImpl->startService(): @Override public ComponentName startService(Intent service) { warnIfCallingFromSystemProcess(...

2020-03-29 15:49:52 451

原创 Java线程内存模型的理解(一)

1.概述    在Java中,因为有jdk的封装,线程使用起来很方便,new一个线程然后start就好了。但是由于存在多线共享同一个数据的原因,经常会有多线程安全的问题。比如在A线程修改了某个变量的值,B线程是不知道得,等到会写到线程的主内存时,最终变量的值已经不是正确的了,再比如,整型变量a,在两个线程中进行自增操作(a++),最后也不会是我们...

2020-03-05 22:18:58 180

原创 Activity启动基本流程分析

1.概述2.Activity启动流程源码分析

2019-12-13 00:35:22 482

原创 布局优化之ViewStub源码分析

1.前言    对于Android的单线程模型来说,把控好主线程中的操作时是至关重要的。布局复杂了,很容易引起卡顿,或者某些情况下界面展示慢的情况,我们都知道ViewStub能实现懒加载,减少布局渲染时间,那么它究竟用了什么方法来实现的,这里做一个学习记录,加深印象。2.如何优化布局    ViewStub是不可...

2019-10-31 23:34:58 408

原创 Java反射基础总结

1.前言Java语言特性中,最经常的一个就是反射机制,最近开发有用到,所以再这里整理一篇学习笔记。简单理解反射就是在运行时获得程序中每一个类型的成员和成员的信息,即使是private修饰的也是可以获取到的。2.基础使用基本API//java.lang.Class类中://1.根据类全限定名获取类的Class对象public static Class<?> forName...

2019-10-20 16:43:29 384

转载 jdk7之前,匿名内部类访问局部变量加final修饰的问题(综合两种说法)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

2019-09-15 16:57:54 428

原创 View工作原理之Activity,Window和View的关系

从源码角度分析Activity,Window和View的关系

2019-08-18 19:55:47 684

原创 java虚拟机之运行时内存分区理解

一.jvm内存区域的划分二. 对象的四种引用类型 1.强引用 2.软引用: SoftReference 3.弱引用: WeakReference 4.虚引用: PhantomReference 5. 四种类型引用特性总结

2019-07-20 16:39:52 277

原创 从源码角度学习EventBus

最近在EventBus的源码,看完基本流程,做一些记录EventBus的几个主要流程(暂未考虑线程的threadMode):1.EventBus类结构分析2.注册流程分析3.post方法实现分析4.三种Poster和ThreadMode 5.解注册做了什么?6.EventBus现有的不足与完善思路7.小结

2019-05-04 13:30:40 113

转载 国内优秀的Android开发者博客整理

国内优秀的Android开发者博客整理

2017-10-08 15:41:31 327

原创 Android面试题:消息机制与异步相关

1.Android中Looper的实现原理,为什么调用Looper.prepare()就在当前线程关联了一个Looper对象,它是如何实现的。2.简述Andriod如何处理UI与耗时操作的通信,有哪些方式及各自的优缺点3.Handler、 Thread 和 HandlerThread 的差别4.主线程中的Looper.loop()一直无限循环检测消息队列中是否有新消息为什么不会造成ANR?5.Handler

2017-09-02 09:10:15 261

原创 Android中Activity四种启动方式

一,任务栈的理解 参考自:https://developer.android.com/guide/components/tasks-and-back-stack.html 1.闲扯两句  一个Android应用是包含若干个Activity的,每个 Activity 均应围绕用户可以执行的特定操作设计,并且能够启动其他 Activity。 这些Activity之间可以借助In...

2017-08-05 22:49:29 1071

原创 Android面试题:对JNI和NDK的理解

JNI和NDK是面试经常被问到的热点问题,在这里做一个记录。 1.阐述你对JNI的理解  JNI的全称是Java Native Interface(Java本地接口)是一层接口,是用来沟通Java代码和C/C++代码的,是Java和C/C++之间的桥梁。通过JNI,Java可以完成对外部C/C++编写的库函数的调用,相对的,外部C/C++也能调用Java中封装好的类和方法。  Java的优点是

2017-06-04 12:31:03 10273

原创 Linux Shell编程之算术运算

最近在学习Shell编程,但是发现写脚本的过程中,语法规则很讲究,多以在这里做一个学习总结,希望给初学者一个参考。  shell编程中的算术运算  shell中和其他编程语言一样,支持+、-、*、/、%等算数运算符。  1算术扩展((expression))和$[expression]  (1)bash不用另外生成进程即能进行整数运算。bash使用((…))命令和$[…]变量语法进行算数运算

2017-05-10 21:00:40 610

原创 AndroidStudio中修改api帮助文档本地路径问题

AndroidStudio中修改api帮助文档本地路径问题

2017-05-02 23:26:37 2900 3

原创 com.android.dex.DexIndexOverflowException: Cannot merge new index 65730 into a non-jumbo instructio

 今天编译工程,生成apk的时候遇到一个没见过的问题,查了很多也是了很多问题,最后解决了,虽然不知道内部的原因,不过在此做一个记录,希望能帮到遇到同样问题的开发者。  报错提示:  Error:Error converting bytecode to dex: Cause: com.android.dex.DexIndexOverflowException: Cannot merge ...

2017-05-01 01:19:00 1041

原创 Android中添加Module依赖注意问题

在开发中经常会以添加Module依赖的方式拓展其他的模块,这样的方式给我们的开发提供了很大的方便,但是也增加了编译的时间成本。但是直接在build.gradle中添加Module依赖往往会遇到Manifest文件合并有错误的情况,这时候就需要我们对被加入依赖的Module进行一些修改。

2017-04-05 20:34:25 4789

原创 计算二进制中的1的个数

面试题计算二进制中的1的个数题目: 请实现一个函数,输入一个整数,输出该二进制表示中1的个数。分析:这是一道简单但是很常见的笔试面试题,目的是看编程人员是 否熟悉二进制操作,因为在计算机的世界里只有01,任何的运算最后都是二进制的运算,所以如果熟练二进制的常见操作可以让我们编写的代码效率更高。

2017-03-28 09:22:43 362

原创 Android四大组件之Service(一)

Service和IntentService的使用1.Service的适用场景 2.Service的注意要点3.Service的生命周期及使用方法4.IntentService的使用及与Service的差异

2017-03-08 15:07:57 264

原创 Git常见操作命令

Git 操作git 命令创建本地仓库git init获取远程仓库git clone [url]例:git clone https://github.com/you/yourpro.git创建远程仓库// 添加一个新的 remote 远程仓库git remote add [remote-name] [url]例:git remote add origin https://github

2017-02-21 13:53:51 308

原创 Android事件分发机制实例分析

Android事件分发机制Android事件传递原理

2017-01-20 23:26:53 310

原创 Android常用开源库(框架)整合

Android开源框架整理

2017-01-10 20:31:22 667

原创 Android中的asset和raw文件夹

assets目录和raw的区别和联系

2017-01-10 17:31:13 429

420开发者大会讲师演讲精华包.zip

Android主会场,大数据Ai会场,跨平台会场,开发者画像报告

2019-07-16

代码优化:有效使用内存.pdf

本书详细的介绍了各种代码优化编程技术:全书分为4章,第一章介绍如何确定程序中消耗CPU时钟最多的热点代码,

2018-05-10

TortoiseGi用户手册.pdf

TortoiseGi用户手册.pdf,中文版介绍git乌龟的使用,,,

2018-05-10

2017中国FinTech独角兽企业发展报告.pdf

2017年5月,长城战略咨询发布《2016中国大数据独角兽企业发展报告》

2018-03-25

Android软件安全与逆向分析(完整版).pdf

Android软件安全与逆向分析(完整版),国内第一本Android软件安全的书籍,很经典

2017-10-03

kotlin-for-android-developers-zh.pdf

这本书并不是一本语言参考书,但它是一个Android开发者去学习Kotlin并且使用在 自己项目中的一个工具。我会通过使用一些语言特性和有趣的工具和库来解决很多 我们在日常生活当中都会遇到的典型问题。

2017-10-03

阿里巴巴java开发规范文档

阿里巴巴技术开发团队2017年2月更新

2017-07-23

qq5.0界面效果实现

通过继承HorizontalScrollView实现qq5.0的SlidingMenu效果

2017-05-30

安卓学习手册,免注册用,免更新

安卓学习手册,免注册用,免更新。已经完美破解

2016-11-21

XReplace-2.2完美破解免注册版

完美破解免注册的批量文件修改工具,打开可执行程序即可使用

2016-11-21

Git教程.pdf

史上最浅显易懂的教程

2016-06-26

Android编程权威指南pdf

Android开发实战的经典之作

2016-05-27

空空如也

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

TA关注的人

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