自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 资源 (3)
  • 收藏
  • 关注

原创 《Android开发艺术探索》笔记目录

该笔记以《Android开发艺术探索》为基础,结合Android 9.0代码和官方文档,修正了原书中表述不明确和过时的部分,同时加入了大量的个人理解。13章,14章,15章是总结性的章节,没有列出,建议直接看原书。Android开发艺术探索 - 第1章 Activity的生命周期和启动模式Android开发艺术探索 - 第2章 IPC机制Android开发艺术探索 - 第3章 View的事...

2019-06-18 12:12:20 705

原创 Android开发艺术探索 - 第12章 Bitmap的加载和cache

1.Bitmap高效加载加载Bitmap的方法:使用BitmapFactory的decodeFile/decodeResource/decodeStream/decodeByteArray可以分别从,文件/资源/输入流/字节数组中加载一个Bitmap。decodeFile/decodeResource会间接调用decodeStream。通过采样率控制加载出的Bitmap的大小,以提高加载效率:...

2019-06-18 11:55:01 362

原创 Android开发艺术探索 - 第11章 Android的线程和线程池

Android的主线程主要是运行四大组件以及处理其与用户的交互;而子线程用于执行耗时任务,如网络请求,I/O操作。1.Android中的线程形态AsyncTask在线程池中执行后台任务,其封装了Thread和Handler,通过execute方法执行AsyncTask。关键方法:onPreExecute:在执行execute方法的线程中运行,一般为主线程,用于执行在开始异步任务之前的一...

2019-06-18 11:54:51 757

原创 Android开发艺术探索 - 第10章 Android的消息机制

1.概述Handler的作用是将一个任务切换到指定的线程去执行。UI操作只能在主线程进行,这个限制是在ViewRootImpl#checkThread中实现的:void checkThread() { if (mThread != Thread.currentThread()) { throw new CalledFromWrongThreadException( ...

2019-06-17 17:06:33 199

原创 Android开发艺术探索 - 第9章 四大组件的工作过程

1.Activity启动过程 ref从Activity的startActivity方法开始。startActivity的多个重载方法,最终都会调用startActivityForResult方法。mParent代表的是ActivityGroup,API 13之前用于在一个界面中嵌入多个Activity,之后被Fragment替代,所以这里一般为null。该方法中主要调用了Instrumentat...

2019-06-17 17:04:34 266

原创 Android开发艺术探索 - 第8章 理解Window和WindowManager

一些说明:refWindow和View很多时候会彼此混杂,概念模糊不清。比如windowManager.addView实际上将View添加到WM对应的Window当中,并不是添加了一个新的Window,但是为其指定的LayoutParams的type含义却是Window的类型。Window的存在意义,实际上是将View的创建、ViewRootImpl和View交互的操作,从Activity/...

2019-06-17 17:03:50 338

原创 Android开发艺术探索 - 第7章 Android动画深入分析

Animation resourcesProperty Animation Overview1.View动画Tween补间动画四种动画效果,平移TranslateAnimation、缩放ScaleAnimation、旋转RotateAnimation和透明度AlphaAnimation,xml中对应四种标签的定义方式(res/anim/xxx.xml):<?xml version=...

2019-06-17 17:03:00 260

原创 Android开发艺术探索 - 第6章 Android的Drawable

Drawable表示了可绘制对象。getIntrinsicWidth/getIntrinsicHeight获取固有的宽高。对于BitmapDrawable来说,该方法返回其图片的宽高,对于shape类型的,默认返回-1。显示在View中的drawable会被拉伸或缩小为View的大小,固有宽高和其最终显示在View中的宽高不一定相等。一部分Drawable中用到的level的范围是0-1000...

2019-06-17 17:01:22 269

原创 Android开发艺术探索 - 第5章 理解RemoteViews

1.RemoteViews应用RemoteViews remoteViews = new RemoteViews(getPackageName(), R.layout.layout_notication);remoteViews.setTextViewText(R.id.text, "text");remoteViews.setImageViewResource(R.id.image, R....

2019-06-17 16:58:49 214

原创 Android开发艺术探索 - 第4章 View的工作原理

1.ViewRoot和DecorViewViewRoot对应ViewRootImpl,实现了DecorView和WindowManager之间的交互。View的绘制流程从ViewRoot#performTraversals开始,经过measure、layout、draw最终将一个View绘制出来:例,measur过程:performMeasure->measure->onMea...

2019-06-17 16:58:12 196

原创 Android开发艺术探索 - 第3章 View的事件体系

1.基础知识位置参数:left/top/right/bottom是左上和右下的原始坐标位置,不会改变。translation*是相对于left和top的偏移量,默认是0。x/y是左上角当前(所看到的)的坐标。x = left + translationXy = top + translationYMotionEvent:触摸事件ACTION_DOWN/ACTION_...

2019-06-17 16:55:54 238

原创 Android开发艺术探索 - 第2章 IPC机制

1.多进程模式给四大组件指定android:process。命名方式:“:”开头,该process将是application的私有进程,最终的process名会加上package前缀;小写字母开头,该process将是全局进程,多个application可以共享该process。多进程造成的问题:静态成员和单例模式失效线程同步机制失效SharedPreferences可靠性下降App...

2019-06-17 16:53:57 258

原创 Android开发艺术探索 - 第1章 Activity的生命周期和启动模式

第1章 Activity的生命周期和启动模式1. 生命周期基本情况onStart和onStop根据是否可见被回调;onResume和onPause根据是否在前台被回调。实际使用中没有其他区别。onRestart当由不可见变为可见时回调。由A启动B,在A的onPause执行完之前,B不会被创建。所以在onPause中不能执行过多的操作。异常情况设备配置改变或者内存不足时,Act...

2019-06-17 16:52:24 207

IIS5.0(提取自WIndows 2000)

用于Windows Xp Home Edition 安装的IIS版本

2014-04-26

VMware Uninstal Documents

安装,卸载或重装Vmware Workstation时失败的官方解决方案

2014-04-25

VMware_Install_Cleaner

用于解决Workstation 4.x及更低版本的无法卸载问题

2014-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除