2019年8月18日

Android 知识树杂谈(20190819)

摘要:1. Androd中进行网络请求,如果当网络请求完成后回调,activity已经被回收了,如何处理? 考察知识点: acitvity view 关系及生命周期&内存模型 如何防止内存泄漏(弱引用、取消请求及回调) 解决知识点: activity view 生命周期 https://www.jians 阅读全文

posted @ 2019-08-18 10:37 齊帥 阅读 (28) 评论 (0) 编辑

2018年9月20日

图片记录

摘要: 阅读全文

posted @ 2018-09-20 15:07 齊帥 阅读 (22) 评论 (0) 编辑

Android 图片集合

摘要: 阅读全文

posted @ 2018-09-20 15:06 齊帥 阅读 (86) 评论 (0) 编辑

2018年5月18日

Collection HashTable

摘要:HashTable原理(数据结构等同于HashMap) Hashtable是基于陈旧的Dictionary类的,HashMap是Java 1.2引进的Map接口的一个实现。Hashtable中的方法是同步的,而HashMap方法(在缺省情况下)是非同步的。 Hashtable 它的key、value 阅读全文

posted @ 2018-05-18 17:36 齊帥 阅读 (44) 评论 (0) 编辑

2018年5月17日

Collection Set&HashSet&TreeSet(HashMap实现,去重特性)

摘要:一、HashSet 1. 虑重功能特性(HashMap实现) 2. put(key) 如果重复返回false 二、TreeSet(有序的,基于TreeMap红黑树实现) 问题1: 如果试图把一个对象添加到TreeSet时,则该对象的类必须实现Comparable接口,否则程序会抛出异常java.la 阅读全文

posted @ 2018-05-17 21:44 齊帥 阅读 (221) 评论 (0) 编辑

Collection Vector&Stack

摘要:一、 源码分析(同ArrayList实现,增删查加锁) 二、 与ArrayList区别 1. Vector与ArrayList一样,也是通过数组实现的,不同的是它支持线程的同步,即某一时刻只有一个线程能够写Vector,避免多线程同时写而引起的不一致性,但实现同步需要很高的花费,因此,访问它比访问A 阅读全文

posted @ 2018-05-17 20:18 齊帥 阅读 (31) 评论 (0) 编辑

Collection LinkedList

摘要:一、源码分析 双向链表 1. LinkedList 类组成 2. Node<E> 节点接口 3. add(e) 新增 4. get(index) 查找 /** * Returns the (non-null) Node at the specified element index. */ Node< 阅读全文

posted @ 2018-05-17 19:33 齊帥 阅读 (31) 评论 (0) 编辑

java 浅拷贝和深拷贝

摘要:clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 1. 使用new操作符创建一个对象 2. 使用clone方法复制一个对象  阅读全文

posted @ 2018-05-17 11:30 齊帥 阅读 (46) 评论 (0) 编辑

Collection ArrayList

摘要:一、 源码分析 1. ArrayList 类组成 2. add(E)方法 * 1. 自动判断是否需要增加存储空间,如果需要,增加数组长度的一半(oldSize + oldSize>>1); * 2. mouCount++,如果在迭代器遍历是数据结构发生变化,报异常; * 3. Arrays.copy 阅读全文

posted @ 2018-05-17 06:20 齊帥 阅读 (54) 评论 (0) 编辑

2018年5月16日

Java 集合

摘要:1. 集合框架 概要图: Collection├List│├LinkedList│├ArrayList│└Vector│ └Stack└SetMap├Hashtable├HashMap└WeakHashMap 详细图: 2. 介绍 Collection接口 是List、Set和Queue接口的父接口 阅读全文

posted @ 2018-05-16 08:10 齊帥 阅读 (41) 评论 (0) 编辑

2018年4月30日

Activity、Fragment、Service、View生命周期

摘要:1. Activity 生命周期 onCreate : 该方法是在Activity被创建时回调,它是生命周期第一个调用的方法,我们在创建Activity时一般都需要重写该方法,然后在该方法中做一些初始化的操作,如通过setContentView设置界面布局的资源,初始化所需要的组件信息等。 onSt 阅读全文

posted @ 2018-04-30 07:44 齊帥 阅读 (78) 评论 (0) 编辑

2018年4月28日

Android 事件分发机制

摘要:Android 事件分发机制 demo验证: https://blog.csdn.net/hty1053240123/article/details/77866302 目录 1.基础认知 2.事件分发机制方法&流程介绍 3.事件分发场景介绍 4.Android事件分发机制源码分析 5.思考点 6.参 阅读全文

posted @ 2018-04-28 08:35 齊帥 阅读 (194) 评论 (0) 编辑

2018年4月9日

retrofit2.0

摘要:一、 优势 1. 超级解耦,利用n多设计模式。 Retrofit能从众多框架中脱颖而出,其优势主要有:1.Retrofit比较好的把几个框架的功能组合起来,并没有重复自造轮子,而是高效的把轮子进行组合。其利用OkHTTP进行网络请求。并且Retrofit与异步请求框架和类解析框架解耦,使得Retro 阅读全文

posted @ 2018-04-09 22:38 齊帥 阅读 (27) 评论 (0) 编辑

Android 知识图谱

摘要:一、开源项目 网络框架: okhttp retrofit 依赖注入: butterknife dagger2 异步处理: rxjava eventbus 图片框架: glide picasso 性能优化: leakcanary blockcanary 1. retrofit http://www.c 阅读全文

posted @ 2018-04-09 17:24 齊帥 阅读 (53) 评论 (0) 编辑

2018年4月6日

设计模式-代理模式

摘要:代理模式 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 介绍 意图:为其他对象提供一种代理以控制对这个对象的访问。 主要解决:在直接访问对象时带来的问题,比如说:要访问的对 阅读全文

posted @ 2018-04-06 15:17 齊帥 阅读 (38) 评论 (0) 编辑

多线程-lock

摘要:摘要: 我们已经知道,synchronized 是Java的关键字,是Java的内置特性,在JVM层面实现了对临界资源的同步互斥访问,但 synchronized 粒度有些大,在处理实际问题时存在诸多局限性,比如响应中断等。Lock 提供了比 synchronized更广泛的锁操作,它能以更优雅的方 阅读全文

posted @ 2018-04-06 11:33 齊帥 阅读 (44) 评论 (0) 编辑

多线程-Callable&Future

摘要:Callable和Future出现的原因 创建线程的2种方式,一种是直接继承Thread,另外一种就是实现Runnable接口。 这2种方式都有一个缺陷就是:在执行完任务之后无法获取执行结果。 如果需要获取执行结果,就必须通过共享变量或者使用线程通信的方式来达到效果,这样使用起来就比较麻烦。 而自从 阅读全文

posted @ 2018-04-06 11:09 齊帥 阅读 (42) 评论 (0) 编辑

2018年4月5日

多线程-synchronized

摘要:扎好马步:线程的状态 先来两张图: 线程状态 线程状态 线程状态转换 线程状态转换 各种状态一目了然,值得一提的是"blocked"这个状态:线程在Running的过程中可能会遇到阻塞(Blocked)情况 此外,在runnable状态的线程是处于被调度的线程,此时的调度顺序是不一定的。Thread 阅读全文

posted @ 2018-04-05 23:49 齊帥 阅读 (58) 评论 (0) 编辑

多线程-volatile

摘要:volatile这个关键字可能很多朋友都听说过,或许也都用过。在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果。在Java 5之后,volatile关键字才得以重获生机。 volatile关键字虽然从字面上理解起来比较简单,但是要用好不是一件容易的事情。由于v 阅读全文

posted @ 2018-04-05 22:07 齊帥 阅读 (35) 评论 (0) 编辑

多线程-内存模型

摘要:Java内存模型即Java Memory Model,简称JMM。JMM定义了Java 虚拟机(JVM)在计算机内存(RAM)中的工作方式。JVM是整个计算机虚拟模型,所以JMM是隶属于JVM的。 如果我们要想深入了解Java并发编程,就要先理解好Java内存模型。Java内存模型定义了多线程之间共 阅读全文

posted @ 2018-04-05 20:39 齊帥 阅读 (419) 评论 (0) 编辑

导航