![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
《Android开发艺术探索》笔记
零下0814
热爱Android,热爱Google,热爱互联网
展开
-
IPC机制
Android IPC简介IPC: Inter-Process Communication, 含义为进程间通信或者跨进程通信,指两个进程之间进行数据交换的过程。使用场景:多进程Android中的多进程模式正常情况下,在Android中多进程是指一个应用中存在多个进程的情况。使用多进程方法:给四大组件在AndroidManifest中指定android:process属性...原创 2018-09-01 11:38:23 · 1203 阅读 · 0 评论 -
四大组件的工作过程
1.运行状态四大组件除了BroadcastReceiver以外,其他三种都必须在AndroidManifest中注册,BroadcastReceiver可以在AndroidManifest也可以在代码中注册。调用方式上:Activity, Service, BroadcastReceiver需要借助Intent,而ContentProvider无须借助Intent.Activity : 前台...原创 2018-10-15 18:00:53 · 331 阅读 · 0 评论 -
Android的消息机制
综述Android的消息机制主要是指Handler的运行机制。Handler的运行需要底层的MessageQueue和Looper的支撑。Looper中存在一个特殊的概念:ThreadLocal,它并不是线程,作用是可以在每个线程中存储数据。Handler创建的时候会采用当前线程的Looper来构造消息循环系统,Handler如何获取?使用ThreadLocal。注意:线程默认没有Looper,...原创 2018-10-15 18:00:05 · 229 阅读 · 0 评论 -
Android的线程和线程池
主线程与子线程主线程:UI线程(作用:运行四大组件以及处理它们和用户的交互)子线程:执行耗时任务,比如:网络请求,I/O操作等Android中的线程形态AsyncTask(串行执行)轻量的异步任务类,可以在线程池中执行后台任务,然后把执行的进度和最终结果传递给主线程并在主线程中更新UI。AsyncTask封装了Thread和Handlerpublic abstract clas...原创 2018-10-08 17:43:29 · 287 阅读 · 0 评论 -
Bitmap的加载和Cache
Bitmap的高效加载加载Bitmap : BitmapFactory decodeFile 、decodeResource、decodeStream、decodeByteArray高效加载Bitmap的核心思想: 采用BitmapFactory.Options , 使用inSampleSize(采样率)参数来缩放图片;若为1则采样后的图片大小为图片的原始大小,当inSampleSize大于1...原创 2018-10-08 17:42:32 · 234 阅读 · 0 评论 -
Crash与Multidex
1.捕获应用的crash信息原理:当crash发生时,系统会回调UncaughtExceptionHandler的uncaughtException()方法;Thread类中提供了一个设置系统默认的异常处理器方法;使用multidex解决方法数越界原因:在Android中单个dex文件所能够包含的最大的方法数为65536范围:包含Android FrameWork、依赖的jar包以及...原创 2018-10-08 17:41:19 · 223 阅读 · 0 评论 -
Drawable
Drawable表示的是一种可以在Canvas上进行绘制的抽象的概念。Drawable的优点:使用简单,比自定义View的成本要低非图片类型的Drawable占用空间较小,利于减少apk的大小1.简介Drawable有很多种,表示一种图像的概念。Drawable是一个抽象类,它是所有Drawable的基类。Drawable的内部宽高参数比较重要,获取方法:getI...原创 2018-09-14 13:42:08 · 451 阅读 · 0 评论 -
Android中的动画
1.分类View动画帧动画属性动画2.View动画View动画的作用对象是View支持四种效果: TranslateAnimation , ScaleAnimation , RotateAnimation , AlphaAnimation定义:可以在代码中,也可以在xml文件中(建议)需要在res目录下新建anim文件夹,对应的标签: set , transla...原创 2018-09-14 13:40:42 · 223 阅读 · 0 评论 -
View的工作原理与自定义View
1.ViewRoot & DecorViewViewRoot (ViewRootImpl) : 连接WindowManager 和 DecorView的纽带 root = new ViewRootImpl(view.getContext() , display); root.setView(view , wparams , panelParentView)...原创 2018-09-07 09:44:59 · 381 阅读 · 0 评论 -
RemoteViews
1.应用通知栏小部件RemoteViews只支持特定的ViewPendingIntent的典型的使用场景:给RemoteViews设置点击事件2.内部机制通知栏和小部件分别由NotificationManager and AppWidgetManager管理,而NM 和 AWM通过Binder分别和SystemServer进程中的NotificationManager...原创 2018-09-07 09:43:35 · 236 阅读 · 0 评论 -
View的事件体系
1.什么是ViewView是Android中所有控件的基类,View是界面层的控件的一种抽象。2.位置参数在Android中,x轴和y轴的正方向分别为左上角的右和下;view的位置由四个顶点决定:top , left , right , bottom;Android3.0以后新增x , y translationX , translationY;关系: x = le...原创 2018-09-01 11:40:22 · 225 阅读 · 0 评论 -
Window & Window Manager
Window表示一个窗口的概念;Window是一个抽象类,具体的实现是PhoneWindow。通过WindowManager来创建Window。Window的具体实现在WindowManagerService中。WindowManager和WindowManagerService的交互是一个IPC过程。1.Window & WindowManager添加Window: mWindo...原创 2018-10-15 18:01:22 · 279 阅读 · 0 评论