Szy'sky Blog

To Be A Lean Developer!

《Android编程权威指南》随记一 零散知识整理

抄书笔记

这本书属于入门, 有很多内容可以当做扩展来了解一些API, 并且有的时候可以适当的利用Google提供好的API来做一些高效开发节约时间成本. 原理东西本书偏少. 不过可以学习本书中的代码的编写风格, 书中代码都是采用MVC模型来编写的. 就写这么多, 下面开始整理一些小知识点. Activity的生命周期有7种分别为: 除去onRestart()比较特殊一点的生命周期. 可以把acti......

《Android 开发艺术探索》 15-Android性能优化

抄书系列

第15章: 通过一些常见的性能优化方法, 这将有助于提高Android程序的性能, 于一些性能能分析等. 优化主要几个方面: 布局优化 绘制优化 内存泄漏优化 相应速度优化 ListView, Bitmap, 线程优化 Android性能优化的方法布局优化 布局优化的思想就是尽量较少布局文件的层级,这就可以让Android绘制时的工作量减少 删除无用的控件和层级, 有选择地使用Vi......

《Android 开发艺术探索》 14-JNI和NDK编程

抄书笔记

第14章: 弥补Java的跨平台特性导致的于本地交互能力不足而出现的. Java JNI本意为Java Native Interface(java本地接口), 是为方便java调用C或者C++等本地代码所封装的一层接口. 由于Java的跨平台性导致本地交互能力的不好, 一些和操作系统相关的特性Java无法完成, 于是Java提供了JNI专门用于和本地代码交互. NDK是android所......

《Android 开发艺术探索》 13-综合技术

抄书系列

crash的异常处理, Android中的方法限制, 反编译等也是需要了解的技术. blog相关代码 捕捉Crash信息应用总会不可避免的发生Crash, 有可能是因为底层bug, 或者是适配问题, 代码逻辑问题等等. 当发生Crash的时候, 系统会kill掉正在执行的程序, 现象就是闪退或者提示用户程序已经停止运行, 这对用户来说是很不友好, 也是开发者不愿意看到的. 系统提供了在......

《Android 开发艺术探索》 12-Bitmap的加载和Cache

抄书系列

由于Bitmap的特殊性以及Android对单个应用所施加的内存限制, 会导致加载Bitmap的时候很容易出现内存溢出. 还有常用的缓存策略. blog相关代码 Bitmap的高效加载先来简单介绍一下如何加载一个Bitmap, Bitmap在android中指的是一张图片, 可以是png格式也可以是jpg等其他常见的图片格式. 那么如何加载一个图片?首先BitmapFactory类......

《Android 开发艺术探索》 11-Android的线程和线程池

抄书系列

第11章: 不仅仅是在Android中, 就算java中线程都是一块很重要的知识, 占有不小的比重. blog相关代码 除了最常使用的Thread之外, 在Android之中可以扮演线程角色的还有很多: 如AsyncTask和IntentService, 同时HandlerThread也是一种特殊的线程. 虽然这些线程的表现形式有别于基础线程. 但是本质上还是传统的线程. 例如Asy......

《Android 开发艺术探索》 10-Android的消息机制

抄书系列

第10章: Handler究竟是如何运行的. Android的消息机制主要指Handler的运行机制, Handler的运行需要底层的MessageQueue和Lopper的支撑. MessageQueue消息机制, 内部存储了一组消息, 以队列的形式对外提供插入和删除工作. 虽然叫消息队列,但是其内部存储结构并不是真正的队列,而是采用单链表的数据结构来存储消息列表. Loope......

《Android 开发艺术探索》 09-四大组件的工作过程

抄书系列

第九章: 还原四大组件的本质 blog相关代码 四大组件的运行状态四大组件中除了BroadcastReceiver以外, 其余的三种组件都必须在AndroidManifest中注册, 对于BroadcastReceiver来说, 既可以在清单文件中注册, 也可以通过代码来注册. 在调用形式上除了ContentProvider不需要借助Intent. 其余的三大组件都需要Intent A......

《Android 开发艺术探索》 08-理解Window和WindowManager

抄书系列

第八章: 所有的视图都是Windown呈现的, 那它都干了什么? blog相关代码保存在第7章项目window包中 Window表示一个窗口的概念, 如有需要在桌面上显示一个类似悬浮窗的东西, 那么这种效果就需要Window来实现. Window是一个抽象类, 具体实现是PhoneWindow. 如果想要创建一个Window只需要通过WindowManager即可完成. WindowMa......

《Android 开发艺术探索》 07-Andriod动画深入分析

抄书系列

第七章: 了解动画并去自定义动画, 在一些场景有哪些注意事项 blog相关代码 View动画View动画作用的对象是View, 它支持四种动画效果平移, 缩放, 旋转, 透明. 除了这四种典型的变化效果. 帧动画也属于View动画. View动画的种类View动画的四种变换效果对应着Animation的四个子类:TranslateAnimation, ScaleAnimation, Ro......

《Android 开发艺术探索》 06-Android的Drawable

抄书系列

第六章: 梳理种类繁多的Drawable. 并了解相应的自定义Drawable blog相关代码 Drawable简介Drawable表示一种图像的概念. 优点:使用比自定义View的成本低, 非图片类型的Drawable占用空间较小. Drawable本身是一个抽象类. 是所有Drawable对象的基类, 每个具体的Drawable都是其子类. Drawable内部宽高通过getI......

《Android 开发艺术探索》 05-理解RemoteViews

抄书系列

第五章:桌面小部件和使用RemoteViews跨进程更新界面 blog相关代码 RemoteView的应用简介:在开发中, 通知栏都知道是通过NotificationManager的notify方法实现. 桌面小部件则是通过AppWidgetProvider实现. 后者本质上是一个广播.更新他们无法像以前那样.这是因为不是一个进程,小部件是SystemServer进程. 为了跨进程更新界......

《Android 开发艺术探索》 04-View的工作原理

抄书系列

拨开炫酷的外表, 看看衣服里面的View是怎样工作的 blog相关代码 ViewRoot和DecorView这是在View三大流程之前(measure, layout, draw),需要了解的概念. ViewRoot对应于ViewRootImpl, 它是连接WindowManager和DecorView的纽带. View的三大流程都是通过ViewRoot来完成的. 当一个Activity......

《Android 开发艺术探索》 03-View的事件体系

抄书系列

Anroid中的事件是怎样进行的 blog相关代码 View的基础知识View的位置参数一个View的位置主要由四个顶点构成, 或者可以就是两个点就可以确定. 分别为左上点,右下角每个点都对应x,y两个属性. 因为默认都是矩形, 所以两个点就可以确定. 一个View的大小可以利用四个属性可知. 分别对应getLeft(),getRight(),getTop(),getBottom系统......

《Android 开发艺术探索》 02-IPC机制

抄书系列

第二章: Android中的IPC机制,深入记录Bundle, 文件共享, AIDL, Messenger, ContentProvider, Socket等进程间的通信. blog相关代码 Android IPC简介IPC是Inter-Process Communication缩写,含义为进程间通信. 按照操作系统中的描述,线程是cpu调度的最小单元,而进程一般指一个执行单元. 进程......