Szy'sky Blog

To Be A Lean Developer!

《Android编程权威指南》随记三 媒体与Intent等

抄书笔记

这本书属于入门, 有很多内容可以当做扩展来了解一些API, 并且有的时候可以适当的利用Google提供好的API来做一些高效开发节约时间成本. 原理东西本书偏少. 可以学习本书中的代码的编写风格, 书中代码都是采用MVC模型来编写的. 就写这么多, 下面开始整理一些小知识点. 关于Camera和SurfaceView的知识点练习都保存在仓库中的Criminal项目中. git地址 Med......

《Android编程权威指南》随记二 Fragment的概括

抄书笔记

这本书属于入门, 有很多内容可以当做扩展来了解一些API, 并且有的时候可以适当的利用Google提供好的API来做一些高效开发节约时间成本. 原理东西本书偏少. 可以学习本书中的代码的编写风格, 书中代码都是采用MVC模型来编写的. 就写这么多, 下面开始整理一些小知识点. 关于Fragment的知识点练习都保存在仓库中的Criminal项目中. git地址 Fragment的生命周期......

《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......