- 博客(14)
- 资源 (1)
- 收藏
- 关注

原创 Handler,Lopper,MessageQueue源码分析
想了解他们的之间的关系,我们来分析一下系统Handler是如何工作的。 一、首先在ActivityThread.java中有一个main()方法,这是整个App的入口。ActivityThread 的初始化。 ActivityThread thread = new ActivityThread(); //里面饿加载一个系统H(Handler) //敲黑板。划重点:四大组件等组件的启动和这
2017-04-07 16:10:30
529
原创 HashMap(JDK1.8)源码分析
一、构造函数//initialCapacity 初始大小//loadFactor 初始化负债因子//threshold 阈值public HashMap(int initialCapacity, float loadFactor) { if (initialCapacity < 0) throw new IllegalArgumentException("Il...
2019-03-25 19:56:15
203
原创 HelloCharts 自定义X轴
最近项目中需要使用柱形图、饼图和折线图,上github溜了一圈,选择了HelloCharts。 由于没有中文的API,写起来很多难以理解的, 最后发现了一篇还不错的,常用的API都解释了。 http://www.jianshu.com/p/7e8de03dad79在实际使用过程中,发现当需要展现的柱形图或者折线图很多的时候,默认所有列都在一页进行展示,这样效果很不好。X轴的标签都挤到一起了。
2017-05-24 16:17:59
7520
原创 性能优化-Bitmap简单处理分析
BitmapFactory源码大致分析:BitmapFactory有一个静态内部类Options,有以下属性:inBitmap:在解析Bitmap时重用该Bitmap,不过必须等大的Bitmap而且inMutable须为trueinPreferredConfig:Bitmap.Config.ARGB_8888等inMutable:配置Bitmap是否可以更改,比如:在Bitma
2017-04-20 17:49:04
657
原创 性能优化3-UI绘制
这几天在闲暇之余,继续研究了性能优化很重要的一个组成部分,UI绘制流程和UI性能优化,这一块还是蛮深的,我简单的跟着源码走了一遍,在此简单记录,以供以后继续深入研究。看绘制流程就用Actiivty的setContentView(R.layout.activity_main);入手:点进Activity.Java类public void setContentView(@LayoutRe
2017-03-28 23:57:00
271
原创 性能优化2-常见内存泄漏
首先来确定一下内存泄漏和内存溢出。内存泄漏(Memory Leak):进程中某些对面已经没有使用价值,但是他们却还可以直接或间接的被引用到GC Root导致无法回收,当内存泄漏过多时,在加上应用本身使用的内存,长时间就会导致内存溢出OOM,内存溢出(OOM ):当应用需要占用的内存资源超过了 Daivik虚拟机所能分配的内存就会内存溢出。 正文开始:静态变量导致的: 例如:在Activit
2017-03-24 11:23:27
458
原创 性能优化1-内存泄漏简单阐述
**Android的性能优化已经是一个老生常谈的问题,最近想系统的整理一下这方面的一些资料,为了方便以后查找,特此记录。 说道性能优化,不得不去说下内存,内存在c/c++中,是靠自己去分配和释放也就是手动管理,而Java就是靠GC。既然是GC自动管理,其实是GC的算法去判断是否该回收,吧啦吧啦此处省略几百字……简而言之:当对象没有任何引用的时候需要被回收~~既然是判断,那么就会产生问题造成
2017-03-21 00:15:16
393
原创 Android MVP 简析
最近在研究MVP的使用,看了几篇介绍的,综合了Google的MVPdemo介绍。简单的说一下。 https://github.com/zhuyongit/MVPDemo 这篇说的感觉还不错,分析的挺透彻。 http://www.jianshu.com/p/14283d8d3a60 这个是Google的MVP简单的介绍。 然后综合了一下。写了一个感觉比较适合自己的。一:基本概念不管是MVC还是
2016-11-23 11:07:11
727
原创 Toast的单例
Android最常用的工具之一。Toast,可是普通的Toast有一个弊端,就是如果一直点击,就是一直在创建新的Toast,就算当前Activity退出了,Toast还是会一直弹,直到所有全部弹完,感觉很烦,就找了一个单例的Toast,用在项目中,感觉还不错。特此记录一下。首先上重要的代码public enum ToastMgr { builder; private
2016-07-21 15:28:44
577
原创 Interface的两种使用方式
Interface的两种使用方式接口是我们在编程中经常使用的,原来对于使用方式一直模模糊糊的,这两天整理了一下。作为菜鸟,有不对的地方请多多指教,不喜勿喷。通过set方法进行传递。例如Activity中去调用Fragment里的方法的情况。这样可以直接在Fragment调用接口方法。代码如下:1.首先定义了一个接口public interface TextViewInfoListener {
2016-05-25 19:59:47
10743
原创 netty4 Android和服务器进行通信
原本公司用的是极光推送消息。但是由于公司网络原因,或者说是极光推送的不及时性,BOSS说太慢,就让改成长链接了,花费了几天时间查资料,总算搞懂了一点皮毛,简单的通讯已经不是问题了。今天下午无事,写点内容巩固写记忆。我负责的Android这边。所以服务器的那边的不太会。netty的版本是netty-4.0.31.Final。。一。服务端代码这里是主要代码。NettyServerHandler()方法主
2015-09-30 14:35:24
3547
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人