自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Jefferyleng的专栏

A young man who does not believe in evil

  • 博客(23)
  • 收藏
  • 关注

原创 Retrofit源码分析

本次分析的要点:Retrofit中的动态代理和整个流程(Proxy、ServiceMethod、OkHttpCall) Retrofit中的转换器和适配器(Converter、CallAdapter)Retrofit整体流程和动态代理首先我们回顾一下retrofit的使用demo Retrofit retrofit = new Retrofit.Builder() ...

2019-11-15 20:36:09 188

原创 手撸组件化路由框架-GRouter

项目地址先贴上来:https://github.com/JefferyLeng/GRouterGRouter简介GRouter是基于组件化的路由架构,使用APT + JavaPoet来构建生成 "Group" 和 "Path" 来实现路由通信,支持参数传递。 优化改进了ARouter的类加载策略和兼容性问题,实现业务组件和参数管理的懒加载。Note:每个业务模块抽象为Group 每...

2019-09-04 14:35:43 532

翻译 Android内存优化之内存泄露检测分析方法

上一篇文章总结了一些常见的内存泄露场景及优化方案,这篇文章继续总结内存泄露的一些常用的检测和分析方法。Lint代码检查AndroidStudio自动Lint代码检查工具,一些常见的代码警告Lint工具都会给我们提示。使用也比较简单:Analyze —> Inspect Code 然后选择检查范围:Lint使用-1Lint使用-2Lint使用-3比如如果...

2019-03-03 21:05:03 469

翻译 Android内存优化之常见内存泄露及优化方案

如果一个无用对象(不需要再使用的对象)仍然被其他对象持有引用,造成该对象无法被系统回收,以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费,这中情况就是内存泄露。在Android开发中,一些不好的编程习惯会导致我们的开发的app存在内存泄露的情况。下面介绍一些在Android开发中常见的内存泄露场景及优化方案。单例导致内存泄露单例模式在Android开发中会经常用到,但是如果...

2019-03-03 20:58:33 223

转载 ondraw() 和dispatchdraw()的区别

绘制VIew本身的内容,通过调用View.onDraw(canvas)函数实现绘制自己的孩子通过dispatchDraw(canvas)实现     View组件的绘制会调用draw(Canvas canvas)方法,draw过程中主要是先画Drawable背景,对 drawable调用setBounds()然后是draw(Canvas c)方法.有点注意的是背景drawa

2016-09-02 16:06:55 465

转载 基于Android Studio的内存泄漏检测与解决全攻略

自从Google在2013年发布了Android Studio后,Android Studio凭借着自己良好的内存优化,酷炫的UI主题,强大的自动补全提示以及Gradle的编译支持正逐步取代Eclipse,成为主流的Android开发IDE。Android Studio在为我们提供了良好的编码体验的同时,也提供了许多对App性能分析的工具,让开发者可以更方便分析App性能。Google在IO大会上

2016-06-23 11:54:52 485

转载 【腾讯内部干货分享】分析Dalvik字节码进行减包优化

Android结合版最近几个版本在包大小配额上超标了,先后采用了包括图片压缩,功能H5,无用代码移除等手段减包,还是有着很大的减包压力。组内希望我能从代码的角度减少一些包大小,感觉有点压力山大。经过一段时间对手q安装包反编译后的Dalvik字节码的分析,发现通过调整Java代码可以减少编译后的Dalvik字节码,从而减少包大小。在这方面我做了许多的尝试,有成功有失败,拿出来给大家分享分享,多拍砖多

2016-06-23 11:41:41 402

转载 EventBus3.0源码解析

EventBus3 与之前的相比,其主要差别在于订阅方法可以不再以 onEvent 开头了,改为用注解。介绍EventBus 是Android上的以发布\订阅事件为核心的库。事件 (event) 通过 post() 发送到总线,然后再分发到匹配事件类型的订阅者 (subscribers) 。订阅者只有在总线中注册 (register) 了才能收到事件,注销

2016-06-20 00:46:21 668

原创 优雅的控制ViewPager是否可以滑动

今天我们来优雅的实现不能滑动的ViewPager,不直接在ViewPager中写死,我们自己调用方法 控制ViewPager的拦截事件和滑动先看看怎么用:viewPager = (MyViewPager) findViewById(R.id.activity_main_viewpager);viewPager.setTouchIntercept(false);

2016-06-14 23:08:04 928

原创 Handler机制详解

相信大部分android开发者使用Handler已经滚瓜烂熟了,但是当你不去深入研究它的原理,不去理清它与Looper和Message之间的关系时,遇到问题和bug的时候你就会无从下手,手忙脚乱。技术是一门学问,只知其一不知其二,你永远只会停留在基础。所以我们就看看源码,好好研究一些底层的到底做了什么:Handler运行机制梳理我们在使用Handler的

2016-06-10 23:13:26 719

原创 源码角度分析Android启动流程

作为一个Android开发者,开发时总是对于Andorid底层的实现充满了好奇,处于这种强烈的好奇心,我决定到源码中一探究竟,今天就带大家基于源码的角度简单分析一下Android系统从启动到显示出Launcher界面的流程吧!先来贴一张图,我们就依据这张图,跟到源码中去爽一把!(注意:由于高版本的Android版本太过于复杂和庞大,本文主要基于Android 2.3版本进行分析)Andro

2016-06-09 16:40:30 596

转载 据说年薪30万的Android程序员必须get的技能

Android中国开发精英目前包括:    Android开源项目第一篇——个性化控件(View)篇       包括ListView、ActionBar、Menu、ViewPager、Gallery、GridView、ImageView、ProgressBar、TextView、ScrollView、TimeView、TipView、FlipView、ColorPic

2016-05-27 23:46:48 1628

转载 Android drawable微技巧,你所不知道的drawable的那些细节

转载来自郭神博客:http://blog.csdn.net/guolin_blog/article/details/50727753 今天就给大家更新一篇单篇的文章,讲一讲Android drawable方面的微技巧。话说微技巧这个词也是我自己发明的,因为drawable这个东西相信大家天天都在使用,每个人都再熟悉不过了,之所以叫微技巧就是对于这个我们再熟悉不过的技术,可能还有一些你所

2016-05-26 00:35:57 393

原创 Sqlyog 8.32企业版注册码

Name: AnyRegistration Code: 26f359fc-e3f6-4727-8af1-72a1a4a0819d

2016-05-23 22:08:48 2006 1

原创 可能是史上最全的Android Studio入门级文档

AndroidStudio个人吐血整理,希望能给大家一些帮助,可能是史上最全的android studio 文档介绍Google官方的Android集成开发环境(IDE = Integrated Development Environment),Eclipse + Adt插件的代替者。学习的必要性趋势原因说明发

2016-05-09 22:45:11 12786 1

原创 Android SDK Manager无法更新的解决方案

现在这里有一个解决方案,如下。  1.启动 Android SDK Manager ,打开主界面,依次选择「Tools」、「Options...」,弹出『Android SDK Manager - Settings』窗口;  2.在『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」和「HTTP Proxy Port」输入

2016-04-14 00:40:12 464

转载 Android开发中,那些让你相见恨晚的方法、类或接口

getParent().requestDisallowInterceptTouchEvent(true);剥夺父view 对touch 事件的处理权,谁用谁知道。ArgbEvaluator.evaluate(float fraction, Object startValue, Object endValue); 用于根据一个起始颜色值和一个结束颜色值以及一个偏移量生成一个新的颜色,分分钟实

2016-04-14 00:03:17 369 1

原创 Android开发编码规范

自己平常的一些编码规范和网上一些资料进行整理汇总,方便自己时常查看对比。基本的命名法Java编程比较常见的有下面三种命名方式驼峰(Camel)命名法:又称小驼峰命名法,除首单词外,其余所有单词的第一个字母大写。帕斯卡(pascal)命名法:又称大驼峰命名法,所有单词的第一个字母大写下划线命名法:单词与单词间用下划线做间隔一般建议拿来做命名的单词要比较精悍短小,这样即使两三个单词

2016-04-10 21:45:46 439

原创 Android中常用的Linux指令以及Root原理浅析

Android操作系统底层linux2.6.x内核Linux文件的访问权限:rwx rwx rwx 111 111 111 r: 可读 w:可写 x:可执行7 7 7 600 4755 755Android操作系统的目录结构data目录: 保存应用程序的数据/data/app目录 用户安装的应用程序的apk/data/anr目录 开发人员使用定位anr异常/data/sy

2016-04-06 21:24:05 824

转载 Android之SurfaceView使用

1.概念      SurfaceView是View类的子类,可以直接从内存或者DMA等硬件接口取得图像数据,是个非常重要的绘图视图。它的特性是:可以在主线程之外的线程中向屏幕绘图上。这样可以避免画图任务繁重的时候造成主线程阻塞,从而提高了程序的反应速度。在游戏开发中多用到SurfaceView,游戏中的背景、人物、动画等等尽量在画布canvas中画出。2.实现方法1)实现

2016-04-04 14:32:51 464

原创 安卓基础之相关概念

android开发环境的目录结构build-tools 编译需要用到的工具docs 开发的离线文档extras 额外工具,模拟器加速器,向下兼容的jar包platforms 开发需要的平台,每个平台的android.jar在对应的文件夹里面platform-tools 开发调试的工具 adb.exe 一个重要的调试桥sources android.jar的源码system-images

2016-03-20 23:24:58 388

原创 随笔~ CSDN新的启程

分享是帮助别人最好的方式  也是提高自己的最好的方式Let's  do it!   开发Android也有一段时间了,看到很多初学者遇到各种各样的问题,总能联想起自己当初学习的时候,遇到那些棘手的问题找不到解决办法的各种崩溃.  于是决定将Android基础以及后期工作中自己整理的一些文档和资料逐步的放到CSDN博客上来, 希望能够帮助大家解惑! 由于本人能力有限,不免有疏漏之处 !

2016-03-20 15:06:17 518

原创 jdbc工具类,实现了通用的dml和dql操作

一个jdbc的操作工具类,通用的dml,dql操作项目src目录下创建jdbc.properties文件,内容如下:driverPath=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/pro2 userName=root passWord=root代码如下:/** * jdbc操作数据库的工具类 * * @aut

2016-03-14 22:36:56 590

空空如也

空空如也

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

TA关注的人

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