自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 LeetCode算法题 第一天

有时间就刷两道算法题1.Two sumGiven an array of integers, return indices of the two numbers such that they add up to a specific target.You may assume that each input would have exactly one solution, and

2018-01-26 15:13:03 271

原创 接下来30天的学习计划

1.完成RxJava+OkHttp demo,在使用中较为深入的理解两大框架的源码和原理,熟练使用。2.重视基础,开始复习Java数据结构和算法,并学习新的算法,辅助网站为visualgo.net/

2017-12-21 10:30:28 660

原创 简单记录一个PoupWindow使用时碰到的问题

首先需要知道Dialog在使用的时候初始化时不能使用ApplicationContext,简单来说是因为ApplicationContext的getSystemService(Context.WINDOW_SERVICE)方法中获取到的WindowManagerImpl的实例中,token值为空,导致后续展示时在调用WindowManager的addView方法时抛出BadTokenExcepti

2017-12-04 20:16:28 379

原创 2017/11/6 学习日记

1.AIDL   大概步骤:                    server端 1.创建AIDL文件,系统会通过Java语言生成接口,同时会生成一个stub,这个stub是接口的一个内部类,他继承于binder.                                   2.实现接口方法                                   3.实现Se

2017-11-06 22:24:41 235

原创 2017/10/30 学习笔记

1.Synchronized的实现原理   简单的一句总结就是,Synchronized是多种锁的封装体,它并不能控制线程的状态。这里说的多种锁包括对象锁,自旋锁,轻量锁和偏向锁。   每个堆内存的对象中包含一个对象头,对象头中会创建一个Monitor对象,这个对象同时只能被一个Thread持有,Monitor会控制我们线程的状态,它只会在我们的对象锁中使用。   过程:当我们的对象未

2017-10-30 00:49:24 286

原创 2017/10/28 学习笔记

今天简单复习了JVM的内存组成,以及工作中常见的内存泄露原因,以及内存分析1.首先说下JVM的内存组成,按照我的理解看来,可以简化成三个比较常接触的内存区域,方法区,堆,栈。   那么比如我们static修饰的常量,方法,类名等是存在我们的方法区中。我们通过new方法创建的对象都是存在我们的堆内存中,那么引用我们这些对象的实例都是存在我们的栈中。2.GC   

2017-10-28 00:12:55 235

原创 2017/10/22学习笔记

首先恭喜WE1.ViewRootImpl创建的时还会创建一个Choreographer,以及一个surface关于Choreographer:可以理解成一个事件处理器,内部主要有三大部分,FrameHandler,callBackQueque,Receiver,那么它对事件的处理过程大概为:首先它会通过一些方法获取到surfaceFlinger的相关fd,并将它们交给Looper监

2017-10-23 00:38:59 238

原创 2017/10/21 学习笔记

学习自http://www.cnblogs.com/samchen2009/p/3364327.html,虽然是13年的文章,但是总结的真的非常棒。关于GUI系统:GUI组成部分:ActivityManager,Activity,InputManager,WindowManager,surfaceFlinger关于窗口:对于Activity来说,是一个抽象类,Activity中最外

2017-10-21 16:21:03 528

原创 2017/10/12学习笔记

1.对ImageLoader的理解     该开源框架支持从网络,本地缓存,assets等位置加载图片     ImageLoader的加载大概流程为:UI层请求图片->先去内存中通过Key寻找图片资源->如果内存中没有去磁盘空间中寻找图片资源,如果有则通过BitapFactory中的方法解析图片并回传->若磁盘空间中没有->异步请求网络图片->请求成功后保存在内存和磁盘空间中,并显示在U

2017-10-12 16:35:45 413

原创 2017/10/10学习笔记

1. 应用架构设计     MVC模式:Module(数据层),View(显示层),controler(控制层),缺点是View和Module层耦合严重,Activity中的职责过多,代码臃肿。     MVP模式:Module(数据层),View(显示层),Presenter(前边两者的桥梁),简单来说就是避免数据层和View显示层有直接的操作接触。               

2017-10-10 20:00:01 306

原创 2017/10/05 明天就回去了..

明天就回上海了,今天多陪陪家人,今天简单复习了Android的消息机制1.大概流程为,UI线程在最开始创建的时候就创建了一个Looper对象,在Looper的构造方法中,同时会创建一个Messagequeque这样的链表结构的队列,Looper会调用Loop方法不断的去队列中提取消息,然后回调我们在Handler中实现的方法,那么塞入队列的载体是Message对象,塞数据是通过Hand

2017-10-05 16:36:22 200

原创 2017/10/04(上午)学习日记

复习前面知识。Synchronized 锁住的是一个对象,而不是锁住代码。AsyncTask本质上是一个静态线程池,所有的异步任务都在这个线程池中执行,处理完成之后通过handler通知UI层级进行刷新。

2017-10-04 11:45:31 254

原创 2017/10/03 学习笔记

1.Thread的六大状态   首先通过NewThread创建   调用Start方法去让线程进入可运行状态(Runable),但是什么时候运行由系统决定。   通过wait sleep方法可以进入WaitingTimed状态,类似的还有Waiting状态   请求锁进入阻塞状态(Blocked)   结束状态2.线程的两种创建方式   (1).直接继承Thread实现

2017-10-03 17:43:53 305

原创 2017/10/2 上午 学习笔记

View的绘制流程1.首先是measure 即为获取View的宽高    需要注意的是measure方法为final方法,因此该方法是不能重写的,如果我们想写一个自定义View就去重写onMeasure()方法。    MeasureSpec作为View的内部类,在我的理解中它分为两部分,一部分是specMode,一部分是specSize,前者决定了View的测量模式,   测量模

2017-10-02 11:27:16 287

原创 2017/10/1 学习日记

1. Activity的组成 以及 绘制的流程    结构组成:Activity是由最外层的PhoneWindow包裹着它的内部类DecorView,DecorView中又根据不同的情况加载不同的布局,(带有Title或不带)+ContentView.    流程:               先说说DecorView的创建过程: Activity的初始化流程是从第一次setConte

2017-10-01 17:04:51 3812

原创 2017/9/30 学习笔记

复习,学习提高日记。

2017-09-30 18:34:22 296

原创 Android开发--Binder

Binder 作用:进程间通信。 组成:可以简单地理解为四个部分            1.BinderServer 可理解为服务端,与BinderClient为相对概念,可相互替换。            2.BinderClient 可理解为客户端。            3.Binder驱动(暂未详细了解)            4.ServerManager 可理解

2017-07-14 14:53:58 185

空空如也

空空如也

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

TA关注的人

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