![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
读书笔记
Boo_Wang
量变引起质变!
展开
-
Android第一行代码学习笔记总结
Android 基础,四大组件,数据库,传感器及单元测试原创 2016-01-01 22:53:13 · 1494 阅读 · 0 评论 -
开发艺术探索--Android的View事件体系
第三章,View事件体系 View的位置参数 MotionEvent,TouchSlop,VelocityTracker,GestureDetector,Scroller View的滑动方式View参数View的四个基本属性lef = getLeft();top = getTop();bottom = getbottom();right = getRight();其中参数都是相对于原创 2016-10-04 20:38:49 · 813 阅读 · 0 评论 -
Effective Java : 序列化
74.谨慎的实现Serializable接口简介 一个类只要声明实现Serializable接口,即可被序列化.虽然一个类实现序列化的直接开销不高,但是长远影响却值得考虑长期开销:一旦一个类被发布,就大大降低了”改变这个类的实现“的灵活性增加了出现Bug和安全漏洞的可能性,因为它和构造器功能类似,比如对单例模式有影响随着发行新的版本,相关的测试负担也增加了.为继承而设计的类,应尽可能少原创 2017-01-07 12:35:57 · 520 阅读 · 0 评论 -
开发艺术探索 -- 动画深入分析
第7章. 动画深入分析 View动画 View动画的特殊使用场景 属性动画 注意事项Android动画可以分为3种,View动画,帧动画和属性动画.帧动画也属于View动画的一种,(只是表现形式上略有不同)View动画是一种渐进式动画,支持自定义,帧动画图片过多过大易导致oomView动画(res/anim)View动画分为四种,之前的总结Android动画之ViewAn原创 2016-12-24 23:49:43 · 435 阅读 · 0 评论 -
开发艺术探索--Activity生命周期和启动模式
第一章: Activity生命周期和启动模式本章包括: 声明周期,启动模式及IntentFilter的匹配规则. 生命周期 启动模式 IntentFilter生命周期 典型情况下: 用户参与下,生命周期的改变 异常情况下: 被系统回收或者Configuration改变重建典型情况下 当用户按下Home后回来:onPause -> on...原创 2016-10-04 17:26:26 · 881 阅读 · 0 评论 -
Effective Java概览
Effective Java_xmind原创 2017-01-06 22:39:04 · 614 阅读 · 0 评论 -
开发艺术探索--IPC机制
第二章: IPC机制本章包括: 1. Android多进程概念, 2. 多进程开发注意事项, 3. 序列化机制, 4. binder(AIDL), 4. 进程间通信方式, 5. binder连接池, 6. 各种进程间通信方式的优缺点及使用场景. IPC简介 多进程模式 IPC 基础概念 IPC 方式 Binder连接池 ...原创 2016-10-08 23:21:58 · 670 阅读 · 0 评论 -
开发艺术探索--View的工作原理
第四章,View的工作原理本章主要介绍两方面的内容 1. View的工作原理 2. 自定义View的实现方式需要掌握:View的三大流程;View的常见回调方法;View滑动(上一章中的滑动冲突处理)大纲 ViewRoot 和 DecorView MeasureSpec View工作流程 自定义View初识ViewRoot 和 DecorViewViewRoot的实现类是原创 2016-12-24 23:42:23 · 472 阅读 · 0 评论 -
Effective Java:创建和销毁对象
1. 静态工厂方法代替构造器简介 获取类的实例,除了提供公有的构造器外,还可以使用静态工厂方法静态工厂方法 提供实例,不同于设计模式中的 工厂方法模式,简单示例: public static Boolean valueOf(boolean b) { return b ? Boolean.TRUE : Boolean.FALSE; }优势: 相对于构造器,静态工原创 2017-01-06 22:43:56 · 439 阅读 · 0 评论 -
Effective Java:对于所有对象都通用的方法
8.覆盖equals通用约定概述 Object的设计是为了扩展,其所有的非final方法都有明确的通用约定,复写时需要遵循通用约定,以保证和其他类能协调使用.不复写 equals(即直接用Object#equals)类的每个实例本质上都是唯一的(针对代表活动实体而不是值的类)不关心是否提供了逻辑相等的功能超类覆盖的equals,通过继承过来的行为对子类也是合适的.类是 私有 或 包级私原创 2017-01-06 22:58:42 · 598 阅读 · 0 评论 -
Effective Java : 泛型
23.不要在新代码中使用原生态类型简介Java泛型从1.5引入,为了保持兼容性,实现的是伪泛型,类型参数信息在编译完成之后都会被擦除,其在运行时的类型都是raw type,类型参数保存的都是Object类型,List<E>的raw type就是List编译器在编译期通过类型参数,为读操作自动进行了类型强制转换,同时在写操作时自动进行了类型检查如果使用raw type,那编译器就不会在写操作时进原创 2017-01-07 10:16:02 · 480 阅读 · 0 评论 -
Effective Java : 枚举和注解
30.使用enum代替int常量以前的方案在枚举出现前,都是 使用常量的方式,如public static final int APPLE_FUJI = 0; public static final int ORANGE_NAVEL = 0;这种方称为枚举常量,其弊端有:如果与枚举常量关联的 int 发生变化,则必须重新编译如果将枚举常量翻译成可打印的字符串,只能见到一个数字,没有太大的用处原创 2017-01-07 10:27:49 · 1104 阅读 · 0 评论 -
Effective Java : 通用程序设计
45.将局部变量的作用域最小化简介 和 13 条,使类和成员的可访问性最小化,是一个道理,可以采取如下几种办法:在第一次使用它的地方声明.几乎每个局部变量的声明都应该包含一个初始化的表达式,否则(没有足够的信息来对一个变量进行有意义的初始化),就应该延迟这个声明.for循环优于while循环,而且防止了“剪切-粘贴”错误,且更加简短可读最后一种方法是将局部变量的作用域最小化的方法是使方法小原创 2017-01-07 11:09:08 · 439 阅读 · 0 评论 -
Android性能优化学习计划
Android性能优化典范 - 第1季Android性能优化典范 - 第2季Android性能优化典范 - 第3季Android性能优化典范 - 第4季Android性能优化典范 - 第5季原创 2017-05-16 07:46:17 · 610 阅读 · 0 评论 -
图解HTTP:与HTTP协作的WEB服务器与HTTP首部
虚拟主机一台 Web服务器可以搭建多个独立域名的Web网站,也可以作为通信路径上的中转服务器 (利用虚拟主机,也成虚拟服务器).在相同的IP下,要想知道访问的是哪个Web网站,必须在Host首部内完整指定主机名或域名的URI代理,网关,隧道 代理: 服务器和客户端中间人 代理不改变URI,直接转发,可用于 缓存技术,特定网站的访问控制 按照是否使用缓存和是否修改报文可分为缓存代原创 2017-01-12 23:41:13 · 623 阅读 · 0 评论 -
图解HTTP:简单的HTTP协议和报文信息
请求报文是由请求方法、请求 URI、协议版本、可选的请求首部字段和内容实体构成的 响应报文由协议版本、状态码、用以解释状态码的原因短语、可选的响应首部字段以及实体主体构成 HTTP 是一种无状态协议,引入了Cookie实现状态管理. HTTP方法GET: 获取资源,请求访问已被URI识别的源POST: 传输实体主体,PUT: 传输文件,类似FTP,需要在请求报文的主体中包含文件内原创 2017-01-12 23:29:49 · 1497 阅读 · 0 评论 -
Android动画--移动View的几种方式
Android 中实现View移动的几种方式,Android 群英传读书笔记原创 2015-11-19 23:54:10 · 1560 阅读 · 0 评论 -
开发艺术探索 -- Android中的消息机制
消息机制概述 消息机制分析 主线程的消息循环消息机制概述Android消息机制的上层接口就是Handler.Handler需要MessageQueue,Looper做支撑.Handler创建的时候会采用当前线程的Looper,涉及到ThreadLocalHandler的作用是将一个任务切换到指定的线程执行ViewRootImpl#checkThread会对ui操作进行验证.原创 2016-12-24 23:53:16 · 447 阅读 · 0 评论 -
开发艺术探索-- Drawable
<<艺术探索读书笔记>>第六章,Android的Drawable 层次关系 分类 自定义DrawableDrawable: 一种可以在Canvas上绘制的抽象概念.种类很多(颜色和图片都是一个Drawable).简介Drawable常用于View的背景,一般通过xml来创建;通过getIntrinsicWidth获取Drawable内部宽.颜色没有内部宽高,Drawable没原创 2016-12-24 23:46:09 · 346 阅读 · 0 评论 -
开发艺术探索--理解RemoteViews
<<艺术探索读书笔记>>第五章,理解RemoteViews RemoteViews的应用 RemoteViews的内部机制 RemoteViews的意义应用RemoteViews字面意思是一个远程View,可以在其他进程中显示.使用场景是 通知栏和桌面小部件.通过应用的包名和布局文件的资源id即可创建RemoteViews对象,通知栏通过NotificationManager.原创 2016-12-24 23:44:05 · 564 阅读 · 0 评论 -
开发艺术探索-- Window及WindowManager
第八章,理解Window及WindowManager Window及WindowManager Window内部机制 Window创建过程Window是一个抽象类,实现类是PhoneWindow, 创建Window只需要通过WindowManagerWindow的具体实现在WindowManagerService中,WindowManager和WindowManagerServic原创 2016-12-24 23:50:59 · 461 阅读 · 0 评论 -
开发艺术探索 -- 四大组件的工作过程
四大组件的运行状态 Activity的工作过程 Service的工作过程 BroadCastReceiver工作过程 ContentProvider工作过程Activity除了BroadCastReceiver外,都必须在Manifest中注册.BroadCastReceiver可以通过代码或Manifest注册,调用方式上除了ContentProvider外,其他组件都需原创 2016-12-24 23:52:30 · 518 阅读 · 0 评论 -
Effective Java: 类和接口
13.使类和成员的可访问性最小化尽可能的使每个类或者成员不被外界访问对于顶层类,接口,只有两种访问级别: 包级私有(package-private)和公有(public)对于成员,有四种访问级别(private,package-private,protect,public)如果一个类只对一个类可见,则应该将其定义为私有的内部类,而没必要public的类都应该定义为package privat原创 2017-01-06 23:53:58 · 368 阅读 · 0 评论 -
Effective Java : 方法
38.检查参数的有效性不检查 如果不对参数进行检查,可能会出现如下错误:处理过程中发生失败,产生令人费解的异常正常返回,但是会计算出错误的结果能正常返回,但是破坏了某个状态,在不确定的将来某个节点上引发错误(相当不好定位)正确的做法早 javadoc 的 @throws 标签文档中进行说明.(如果违反了参数限制将抛出异常)在计算任务之前,就应该先检查他的参数如果计算过程抛出异常,已改原创 2017-01-07 10:45:41 · 359 阅读 · 0 评论 -
Effective Java: 异常
57.只针对异常的情况才使用异常简介 错误示例:try{ int i = 0; while(true){ rang[i++].climb(); }}catch(ArrayIndexOutOfBoundsException e){}异常机制的设计初衷是用于不正常的情形,所以很少会有 JVM实现视图对他们进行优化把代码放在 try-catch块中反而阻原创 2017-01-07 11:36:15 · 379 阅读 · 0 评论 -
Effective Java: 并发
66.同步访问共享的可变数据简介关键字 synchronized可以保证在同一时刻,只有一个线程可以执行某一个方法.或者某一代码块Java 语言规范保证读或者写一个变量是原子性的,除非这个变量的类型是long或者double为了在线程之间进行可靠的通信,也为了互斥访问,同步是必须的.volatile修饰符不执行互斥访问,但它可以保证任何一个线程在读取该域的时候都将看到最近杠杆被写入的值.使原创 2017-01-07 12:30:37 · 614 阅读 · 0 评论 -
图解HTTP:确保WEB安全的HTTPS连接
HTTP 的缺点明文(不加密),内容易被窃听 不验证通信方身份,有可能遭遇伪装 无法证明报文的完整性,可能遭遇中途篡改 这些问题不仅出现在 HTTP 上,在其他未加密的协议上也存在这类问题针对明文的情况通信加密 通过 SSL 和TLS使用SSL建立安全通信线路之后,就可以在这条线路上进行 HTTP 通信了.内容加密 要求 客户端 和 服务器 同时具备加密和解密机制.内容仍原创 2017-01-13 11:16:37 · 1242 阅读 · 0 评论 -
图解HTTP: 了解Web及网络基础
在地址栏输入 url 后,信息会被送往某处.然后从某处得到回复,内容就会显示在 web 页面上.名词解释:HTML(超文本标记语言)HTTP(传输协议)URL(统一资源定位符)TCP/IPHTTP属于TCP/IP协议簇内部的一个子集.计算机与网络设备要相互通信,就必须基于相同的方法.就是协议(protocol).把与互联网相关联的协议集合起来总称为TCP/IP按层次,分为4层: 应用层,传输层,原创 2017-01-12 23:27:30 · 829 阅读 · 0 评论 -
图解HTTP:返回结果的HTTP状态码
状态码2xx 成功 表明请求被正常处理了200(OK) : 正常处理,GET返回实体,HEAD只返回首部204(No Content): 没有资源可返回,浏览器显示的页面不再更新. 一般用在只需要从客户端往服务器发送消息,而对客户端不需要发送新消息内容的情况下. 206(Partial COntent): 范围请求,响应报文中包含Content-Range指定范围实体 3x原创 2017-01-12 23:33:56 · 583 阅读 · 0 评论 -
HenCoder Android开发进阶系列学习笔记
概述HenCoder是Android大神扔物线精心为我们准备的 给高级 Android 工程师的进阶手册, 这里主要记录通过学习 消化之后,所剩下的东西,谢谢大神给我们带来这么好的东西。路线首先,跟随者大神的脚步,一篇篇的将文章看完,并做好练习,就能基本掌握相关知识的用法。其次,做笔记,将相关知识点记录下来(都说好记性不如烂笔头嘛),当然是经过消化的,日后浏览起来也较快,哪里记得不太清晰了,可以翻看原创 2017-07-30 06:03:57 · 3177 阅读 · 1 评论