Android
文章平均质量分 79
林序
搬砖的
展开
-
RecyclerView的简单使用
RecyclerView是Android中很常用的一个控件了。最近一年似乎都在做系统这块,关于应用开发的一些知识点遗忘很多。今天开始慢慢找回来。 对于RecyclerView,首先想到的是使用它来显示一个滑动的列表。它支持横向滑动也支持垂直方法的滑动。它强制使用ViewHolder来进行item的缓存。 使用RecyclerView前应该清除每个item需要...原创 2020-03-10 23:53:53 · 281 阅读 · 0 评论 -
对ActivityManagerService的一些理解
1、ActivityManagerService的作用是负责管理系统中所有的Activity,想要使用它的能力,必须要获得一个它的对象。2、ActivityManagerService是在SystemServer进程中创建的,并且SystemServer会新建一个进程给ActivityManagerService运行。 创建完成之后,就把它注册到ServiceManager中。3、...原创 2020-03-09 12:10:50 · 1690 阅读 · 0 评论 -
View的工作原理之自定义View
前面的四篇系列文章,从源码开始详细的分析了View的Measure过程。学以致用,这篇文章就记录一下,学完View的Measure过程之后,自己自定义View的一些收获。本文讲解的是普通View的自定义,ViewGroup的自定义将在下篇讲解。 创建一个Android应用工程,新建一个类MyView继承自View。重写它的三个构造方法及onDraw方法:pub...原创 2018-12-08 13:40:21 · 200 阅读 · 0 评论 -
View的工作原理之自定义ViewGroup
上一篇文章讲解了如何自定义普通的View,本文接着讲如何自定义ViewGroup。 在之前的工程中创建一个类MyViewGroup,继承自ViewGroup,重写它的三个构造方法及onLayout方法,这几个方法都是要求必须实现的。public class MyViewGroup extends ViewGroup { public MyViewGr...原创 2018-12-08 15:17:34 · 363 阅读 · 0 评论 -
View的工作原理之Measure过程源码学习(一)
在Android开发过程中,View控件的使用是最基本的技能,而自定义View技能的掌握也是非常重要的。这篇博文讲记录一下在读任玉刚老师的《Android开发艺术探索》一书中学习到的相关知识以及自己的一些收获。这里说明一点,在"View的工作原理之Measure过程源码学习"系列文章中,源码都是基于android-26这一套源码。 我们都知道,在开发android的过...原创 2018-12-06 16:15:31 · 226 阅读 · 0 评论 -
View的工作原理之Measure过程源码学习(二)
上一篇文章从Android程序启动过程讲解了Activity、PhoneWindow以及ViewRoot与DecorView的联系。本篇文章详细讲述一下DecorView的measure过程。 在了解measure过程过程之前需要先了解MeasureSpec这个类, MeasureSpec是一个32位的int值,高2位表示SpecMode(测量模式),低30...原创 2018-12-06 19:46:44 · 296 阅读 · 0 评论 -
Android View的事件分发机制
View的事件分发机制是Android开发中的难点之一。开发过程中虽然只是偶尔会接触到, 但是对于这个知识点也是有必要的去学习一下。因为不常用到,所以需要写下一篇博客来记录一下关于它的一些原理,以便有需要的时候可以回顾复习一下。 什么是事件?什么是事件序列? 当用户与应用发生交互时,会使用手指触摸屏幕,这个过程会发生一系列的事件。手指按下时,与屏幕发生接触、按压...原创 2019-01-17 10:07:23 · 5714 阅读 · 1 评论 -
Android BitMap图片压缩
最近在网上看了一些关于图片压缩的博客,自己也动手实验了一遍,也算事对图片压缩有了一个了解,打算写个博客记录一下。文末附上参考链接。 Android中涉及到图片的话一般都会用到BitMap类和BitmapFactory类。而本文讲述的图片压缩也都是通过这两个类来实现的。Android中,图片占用内存大小计算公式:图片宽度 * 图片高度 * 图片每一个像素占用的字...原创 2019-01-18 19:38:36 · 1082 阅读 · 0 评论 -
Android组件之Service
Service作为Android四大组件之一,虽然不常使用到,但是还是需要有一定的了解。今天重看Service,需要把一些知识点记录下来,将来忘记时可以回看。 Service有启动状态,也有绑定状态。启动状态 生命周期:startService -> onCreate -> onStartCommand -> onDestroy。...原创 2019-02-23 14:32:15 · 151 阅读 · 0 评论 -
Android Service、Messenger进程间通信
Android进程间通信有很多种,这里记录使用Service和Messenger来通信。在开始之前需要了解一下Android组件之Service。 Aandroid组件使用Service有两种方式,一种是启动方式,第二种是绑定方式。因为第一种启动方式,在启动Service之后,不会得到Service的任何返回,所以对Service的控制不是很好,没有更多的交互。而第...原创 2019-02-23 14:57:31 · 424 阅读 · 0 评论 -
View的工作原理之Measure过程源码学习(四)
上一篇文章,学习了ViewGroup和View的measure流程。文章最后讲到,本文将会学习ViewGroup和普通View的onMeasure方法的工作。 因为ViewGroup是抽象类,它并没有实现onMeasure方法,而是选择让它的子类实现。之前学习DecorView的measure过程时,说到DecorView的父类继承自FrameLayout,Frame...原创 2018-12-07 19:13:56 · 155 阅读 · 0 评论 -
View的工作原理之Measure过程源码学习(三)
上一篇文章讲解了整个Android应用程序的View视图的顶级节点DecorView的Measure过程,文章最后就讲到了DecorView的onMeasure方法中调用super.onMeasure(widthMeasureSpec, heightMeasureSpec);之后,在FrameLayout的onMeasure方法中通过循环遍历子元素,从而往下进行每一级View的Me...原创 2018-12-07 17:24:13 · 212 阅读 · 0 评论 -
FileProvider文件分享
最近在做一个文件分享的Demo,一连看了两天文档,终于把它给弄出来了。下面是文档中的一段话,大致的意思是通过FileProvider在应用程序之间共享文件的安全的。进程间文件的分享,假设两个应用程序分为Server(共享数据一端)和Client(请求数据一端)。 在所有情况下,将文件从你的应用程序发送至其它应用程序的唯一的安全方法是向接收文件的应用程序发送这个文件的content原创 2016-08-09 17:34:12 · 3952 阅读 · 0 评论 -
Android写数据到手机内存
Android开发中有时候需要操作手机内存中的数据(非SD卡),可能是图片也可能是文件。今天分享一下,在手机内存中生成文件夹,以及保存图片和文件。/* 将图像保存到Data目录 */ public boolean SaveImageToData(Bitmap bmpToSave, String FileNameWithoutExtension, String ext, int原创 2016-08-09 10:04:00 · 687 阅读 · 0 评论 -
Android Studio创建Android项目生成的文件详解
Android Studio开发Android项目所生成的目录文件的作用原创 2017-08-17 15:15:52 · 5894 阅读 · 0 评论 -
Android 热修复之阿里百川
Android 热修复之阿里百川快速集成原创 2017-08-21 17:31:34 · 392 阅读 · 0 评论 -
Android AIDL使用与原理浅析
AIDL是Android Interface Definition Language的缩写,也是Android接口定义语言。简单点说,AIDL是一种语言。设计这门语言的目的是为了更好的实现进程间通信,尤其是在涉及多进程并发情况下的进程间通信。还有一个目的是,简化Android开发人员的工作。详情转到我的github:点击打开链接AIDL相关链接:点击打开链接原创 2018-01-19 17:09:49 · 294 阅读 · 0 评论 -
Android Handler的正确使用
在Android开发有时候会使用到Handler,但是每次新建一个对象的时候,开发工具都会报一个黄色警告。以前没做过大项目,觉得只要不是Error就可以不关心。但是上次出了一个内存泄露之后,不敢大意了,对于可能出现内存泄露的都需要认真处理下。查了下,这个黄色警告就是因为这样创建Handler有可能会出现内存泄露才报的。所以这里记录一下如何避免创建Handler发生内存泄露。 正常以前原创 2018-01-19 17:23:41 · 3801 阅读 · 0 评论 -
Android 多线程编程以及异步消息处理机制学习
Android多线程编程 Android中对于耗时任务不应该在主(UI)线程中执行,一般需要新建子线程来执行这些耗时任务。 Android多线程编程不比Java特殊,基本用法是一样的,都是使用相同的语法。Android中定义一个线程可以使类继承致Thread或者时实现Runnable接口,然后重写run方法。下面是一个例子: class MyThread extends Thread{原创 2018-01-19 17:32:36 · 295 阅读 · 0 评论 -
Recyclerview的item设置selector背景无效
在做项目的过程中,只用Recyclerview,需要设置它的item的点击效果。毫无疑问使用的是selector。但是怎么都出现不了效果。 网上的方法试了挺多的。还是没效果。结果发现原来是selector文件里面。默认情况的item放在了前面。把它放到最后就好了。 一开始的设置是这样的,怎么都出不来效果 <item android:drawable="@...原创 2018-03-20 11:46:15 · 5329 阅读 · 4 评论 -
Android的activity生命周期总结
Activity是Android四大组件之一,了解和使用activity的生命周期在Android开发中必不可少。在程序(带界面)的运行过程中,程序中的activity实例都经历了生命周期的不同状态。Activity在状态的转换时会调用不同的回调方法,因此可以在这些回调方法中在activity转换状态时做出相应的操作。 Activity生命周期图如下:原创 2016-08-16 11:37:14 · 282 阅读 · 0 评论