buder

09 2017 档案

201709030工作日记--今天搜索的问题
摘要:1.actionbarcontextview 2.contentprovider contentresolver contentObserver内容观察者, 作业:写一个通讯录的增删改查 3.异步加载,LoaderManager.LoaderCallbacks<Cursor> 4.monitor.b 阅读全文

posted @ 2017-09-30 14:45 buder 阅读(113) 评论(0) 推荐(0)

201709029工作日记--今天搜索的问题
摘要:1.线程池相关:mExecutor = Executors.newFixedThreadPool(2); 2.onItemLongClick(Adapter<?> parent, View view, int position, long id){} 3.ListView中notifyDataSet 阅读全文

posted @ 2017-09-29 09:31 buder 阅读(113) 评论(0) 推荐(0)

201709028工作日记--今天的搜索问题
摘要:1.项目中的listview是自己定制的,从下往上显示item条目。重写了onLayout()方法。 可以参考从源码角度理解listview相关细节:http://blog.csdn.net/guolin_blog/article/details/44996879 View的执行流程无非就分为三步, 阅读全文

posted @ 2017-09-28 10:21 buder 阅读(125) 评论(0) 推荐(0)

201709027工作日记--今天搜索过的问题
摘要:1.mHandler.postDelayed(new Runnable(){ }, delay); 2.Android输入法简介: InputMethodManager:getSystemService()获取实例 hideSoftInputFromWindow(IBinder, int)中的标志, 阅读全文

posted @ 2017-09-27 10:47 buder 阅读(128) 评论(0) 推荐(0)

201709025工作日记--view.post和handler.post的区别
摘要:不了解 阅读全文

posted @ 2017-09-25 11:06 buder 阅读(283) 评论(0) 推荐(0)

201709025工作日记--更新UI方法
摘要:1.handler+Thread 和 runOnUIThread 和 handler.post 方法 区别: 从实现原理上,两者别无二致,runOnUiThread也是借助Handler实现的。 对于使用场景,runOnUiThread用法简单,并且共享了同一个Handler,用起来高效、方便。另外 阅读全文

posted @ 2017-09-25 09:58 buder 阅读(213) 评论(0) 推荐(0)

201709021工作日记--Volley源码详解(五)
摘要:学习完了CacheDispatcher这个类,下面我们看下NetworkDispatcher这个类的具体细节,先上代码: 网络调度线程也是从队列中取出请求并且判断是否被取消了,如果没取消就去请求网络得到响应并回调给主线程。请求网络时调用this.mNetwork.performRequest(req 阅读全文

posted @ 2017-09-22 08:42 buder 阅读(191) 评论(0) 推荐(0)

201709021工作日记--Volley源码解读(四)
摘要:接着volley源码(三)继续,本来是准备写在(三)后面的,但是博客园太垃圾了,写了半天居然没保存上,要不是公司这个博客还没被限制登陆,鬼才用这个。。。真是垃圾 继续解读RequestQueue的源码,Volley 的入口是创建一个 RequestQueue 队列,然后开启一个缓存线程和一组网络线程 阅读全文

posted @ 2017-09-21 17:25 buder 阅读(175) 评论(0) 推荐(0)

201709021工作日记--乐观锁、悲观锁思想
摘要:一句话理解乐观锁和悲观锁: 悲观锁:每天都认为家里东西会被人偷,每天走前都会给家里上锁 乐观锁:每天都认为很安全,任何人都能进屋访问,只要当某天东西丢了才上锁。 1.乐观锁 乐观锁是一种乐观思想,即认为读多写少,遇到并发写的可能性低,每次去拿数据的时候都认为别人不会修改,所以不会上锁,但是在更新的时 阅读全文

posted @ 2017-09-21 14:28 buder 阅读(136) 评论(0) 推荐(0)

201709021工作日记--CAS解读
摘要:CAS主要参考博文:classtag http://www.jianshu.com/p/473e14d5ab2d CAS(Compare and swap)比较和替换是设计并发算法时用到的一种技术 。Compare and Swap, 翻译成比较并交换。 简单来说,比较和替换是使用一个期望值和一个变 阅读全文

posted @ 2017-09-21 10:57 buder 阅读(172) 评论(0) 推荐(0)

201709021工作日记--线程安全与不安全、保证线程安全的三种方案、互斥和信号
摘要:1.什么是线程安全和线程不安全 首先要明白线程的工作原理,jvm有一个main memory,而每个线程有自己的working memory,一个线程对一个variable进行操作时,都要在自己的working memory里面建立一个copy,操作完之后再写入main memory。多个线程同时操 阅读全文

posted @ 2017-09-21 09:21 buder 阅读(218) 评论(0) 推荐(0)

201709020工作日记--synchronized、ReentrantLock、读写锁
摘要:1.reentrantLock java.util.concurrent.lock 中的Lock 框架是锁定的一个抽象,它允许把锁定的实现作为 Java 类,而不是作为语言的特性来实现。这就为Lock 的多种实现留下了空间,各种实现可能有不同的调度算法、性能特性或者锁定语义。 ReentrantLo 阅读全文

posted @ 2017-09-20 14:20 buder 阅读(156) 评论(0) 推荐(0)

201709019工作日记--Java中的各种锁--未解决
摘要:1. Syncronized与ReentrantLock Synchronized比ReentrantLock进java标准早,因此一开始大家都是用它。相当于Java提供了一种封装的互斥锁机制,对于用户来说,声明成synchronized就可以拿到锁的能力,而不用管具体是怎么加锁解锁的 使用简便也是 阅读全文

posted @ 2017-09-19 19:18 buder 阅读(116) 评论(0) 推荐(0)

201709019工作日记--线程的中断
摘要:1.线程中断的使用场景 首先,一个线程在未正常结束之前, 被强制终止是很危险的事情. 因为它可能带来完全预料不到的严重后果比如会带着自己所持有的锁而永远的休眠,迟迟不归还锁等。 所以你看到Thread.suspend, Thread.stop等方法都被Deprecated了。 那么不能直接把一个线程 阅读全文

posted @ 2017-09-19 16:45 buder 阅读(153) 评论(0) 推荐(0)

201709019工作日记--sleep、wait、notify的使用详解
摘要:1. sleep()和wait()的区分 (1)这两个方法来自不同的类分别是,sleep来自Thread类,wait来自Object类。 sleep是Thread的静态类方法,谁调用的谁去睡觉,即使在a线程里调用了b的sleep方法,实际上还是a去睡觉,要让b线程睡觉要在b的代码中调用sleep ( 阅读全文

posted @ 2017-09-19 10:30 buder 阅读(315) 评论(0) 推荐(0)

201709018工作日记--线程状态的转换
摘要:先来张图: 线程在一定条件下,状态会发生变化: 1.新建状态(New):新创建了一个线程对象 2.就绪状态(Runnable):线程对象创建后,其他线程调用了该对象的start()方法。该状态的线程位于可运行线程池中,变得可运行,等待获取CPU的使用权。 3.运行状态(Running):就绪状态的线 阅读全文

posted @ 2017-09-18 20:19 buder 阅读(140) 评论(0) 推荐(0)

201709018工作日记--RecyclerView的使用(点击,瀑布流的实现)
摘要:参考相关博客: http://www.jianshu.com/p/55e3f1b6701f 刘望舒 http://www.jianshu.com/p/4fc6164e4709 王三的猫阿德 http://www.jianshu.com/p/7c3c549a0ec4 王三的猫阿德 阅读全文

posted @ 2017-09-18 15:56 buder 阅读(155) 评论(0) 推荐(0)

201709015工作日记--上下文的理解,ASM
摘要:1.Android上下文理解 Android上下文对象,在Context中封装一个所谓的“语境”,Activity、Service、Application都继承自Context,所以在这三者创建时都会创建应用上下文Content 所有的组件共同拥有Application Context,可以通过ge 阅读全文

posted @ 2017-09-15 16:24 buder 阅读(156) 评论(0) 推荐(0)

201709015工作日记--IntentService使用
摘要:一、IntentService与Service的区别 Service 是 Android 四大组件之一,正常来说,我们直接使用 Service 就可以了。 但是 Service 存在几个问题: 默认不会运行在单独的进程中,而是和所在应用共用同一个进程。 Service 也是在主线程中运行,所以一些耗 阅读全文

posted @ 2017-09-15 11:21 buder 阅读(125) 评论(0) 推荐(0)

201709013工作日记--Android消息机制HandlerThread
摘要:1.首先来看一个常规的handler用法: 在主线程中建立一个handler: 在子线程中进行耗时操作,结束后发送消息,主线程收到消息后进行更新UI操作。 2.现在来看看handler.post()的版本: 耗时操作完成之后,直接在handler开启的子线程中进行了更新UI的操作。post和send 阅读全文

posted @ 2017-09-14 17:09 buder 阅读(200) 评论(0) 推荐(0)

201709013工作日记--Android异步通信AsyncTask
摘要:参考相关博客:http://blog.csdn.net/liuhe688/article/details/6532519 在Android中实现异步任务机制有两种方式,Handler和AsyncTask。 Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程 阅读全文

posted @ 2017-09-14 11:16 buder 阅读(235) 评论(0) 推荐(0)

201709013工作日记--static理解 && abstract
摘要:1.关于viewHolder设置成static的讨论 一般情况下是尽量不要使用static关键字,因为static一旦有引用变量指向了变量,使用完毕后而没有设置null,就会造成内存泄露,而且很难排查。但并非绝对不允许使用static,你需要非常小心的维护这个static的引用。 这里要讨论的是在l 阅读全文

posted @ 2017-09-13 20:55 buder 阅读(158) 评论(0) 推荐(0)

201709012工作日记--Android消息机制
摘要:1. android的消息机制——Handler机制 参考:http://www.jianshu.com/p/9e4d1fab0f36、 Android异步消息处理机制完全解析,带你从源码的角度理解: http://blog.csdn.net/guolin_blog/article/details/ 阅读全文

posted @ 2017-09-13 20:45 buder 阅读(117) 评论(0) 推荐(0)

201709012工作日记--一台电脑创建两个Github账户上传代码
摘要:1. 在一台主机上面使用多个GitHub账号 有时候,我们需要将个人账号和公司账号区分,这时候我们就会需要在一台电脑上使用2个不同的git账号。 2. 上传文件 http://blog.csdn.net/qq_23547831/article/details/50010419 使用AS上传项目 ht 阅读全文

posted @ 2017-09-13 08:47 buder 阅读(207) 评论(0) 推荐(0)

201709012工作日记--activity与service的通信机制
摘要:service生命周期 Service主要包含本地类和远程类。 Service不是Thread,Service 是android的一种机制,当它运行的时候如果是Local Service,那么对应的 Service 是运行在主进程的 main 线程上的。如:onCreate,onStart 这些函数 阅读全文

posted @ 2017-09-12 15:03 buder 阅读(418) 评论(0) 推荐(0)

201709012工作日记--回调机制的理解
摘要:介绍回调函数之前先举个通俗易懂的例子(摘自知乎):https://www.zhihu.com/question/19801131 1.你到一个商店买东西,刚好你要的东西没有货,于是你在店员那里留下了你的电话,过了几天店里有货了,店员就打了你的电话,然后你接到电话后就到店里去取了货。在这个例子里,你的 阅读全文

posted @ 2017-09-12 10:17 buder 阅读(164) 评论(0) 推荐(0)

201709011工作日记--ART与Dalvik&&静态类与非静态类
摘要:1.ART 与 Dalvik 的优缺点对比 什么是Dalvik:Dalvik是Google公司自己设计用于Android平台的Java虚拟机。dex格式是专为Dalvik应用设计的一种压缩格。Dalvik允许同时运行多个虚拟机的实例,并且每一个应用作为独立的Linux进程执行。 目前在Android 阅读全文

posted @ 2017-09-11 15:17 buder 阅读(147) 评论(0) 推荐(0)

201709011工作日记--Volley源码详解(三)
摘要:1. RequestQueue类 我们使用 Volley 的时候创建一个 request 然后把它丢到 RequestQueue 中就可以了。那么来看 RequestQueue 的构造方法,含有四个参数的构造器是最终会调用的构造器。 一个消息请求队列的构造函数,一个开启函数, 创建了一个线程池分发器 阅读全文

posted @ 2017-09-11 15:04 buder 阅读(123) 评论(0) 推荐(0)

201709月的学习计划
摘要:1. 由于最近在看Volley源码,设计到很多HTTP协议消息的内容,需要熟悉HTTP协议消息头相关 阅读全文

posted @ 2017-09-11 08:41 buder 阅读(96) 评论(0) 推荐(0)

201709011工作日记--Volley源码详解(二)
摘要:1.Cache接口和DiskBasedCache实现类 首先,DiskBasedCache类是Cache接口的实现类,因此我们需要先把Cache接口中的方法搞明白。 首先分析下Cache接口中的东西,首先是接口的内部类 class entry{},用途是返回缓存的数据,下面是内部类的具体实现: 上面 阅读全文

posted @ 2017-09-11 08:15 buder 阅读(146) 评论(0) 推荐(0)

20170908工作日记--Volley源码详解
摘要:Volley没有jar包,需要从官网上下载源码自己编译出来,或者做成相关moudle引入项目中。我们先从最简单的使用方法入手进行分析: 具体使用就下面三步: 1. 创建一个RequestQueue对象。 2. 创建一个StringRequest对象。 3. 将StringRequest对象添加到Re 阅读全文

posted @ 2017-09-08 14:05 buder 阅读(146) 评论(0) 推荐(0)

20170908工作日记--UML画类图、HTTP协议、Volley源码走读
摘要:随手搜了一下,Android studio居然能够自动帮追我们生成UML的类图,简直太棒了http://www.gcssloop.com/course/UsePlantUMLInAS(Win),具体做法博客地址。 试了一下并不是根据Java文件自动生成的,而是需要自己写dot语法的相关代码,效果图如 阅读全文

posted @ 2017-09-08 11:24 buder 阅读(399) 评论(0) 推荐(0)

20170907工作日记--Android多线程
摘要:1 阅读全文

posted @ 2017-09-07 15:58 buder 阅读(84) 评论(0) 推荐(0)

20170906工作日记--volley源码的相关方法细节学习
摘要:1. 在StringRequest类中的75行--new String();使用方法 关于HttpHeaderParser.parseCharaset()方法: (1)需要了解到HTTP协议中HTTP.CONTENT_TYPE参数以及HTTP协议的消息头信息: 可以看到Content-type的消息 阅读全文

posted @ 2017-09-06 09:54 buder 阅读(143) 评论(0) 推荐(0)

20170905工作日记--打造自己的图片加载框架
摘要:根据上文的PPT我们打造一款属于自己的图片加载框架 阅读全文

posted @ 2017-09-05 15:28 buder 阅读(116) 评论(0) 推荐(0)

20170905工作日记--listview优化大全
摘要:1. 适配器设计模式 实例描述:我们国家的电器使用普通的扁平两项或三项插头,而去外国的话,使用的标准就不一样了,比如德国,使用的是两项圆头的插头,那么我们使用的手机充电器插头无法插到德国的插排中去,那就意味着我们无法给手机充电。怎样解决这个问题呢?只要使用一个电源转化器就行了。 2.listview 阅读全文

posted @ 2017-09-05 10:49 buder 阅读(107) 评论(0) 推荐(0)

20170902工作日记
摘要:1.深入浅析Java中Static Class及静态内部类和非静态内部类的不同 java中的类可以是static吗?答案是可以。在java中我们可以有静态实例变量、静态方法、静态块。类也可以是静态的。 java允许我们在一个类里面定义静态类。比如内部类(nested class)。把nested c 阅读全文

posted @ 2017-09-02 17:42 buder 阅读(143) 评论(0) 推荐(0)

导航