android
文章平均质量分 70
李加华
努力学习
展开
-
【Android】面试题及解析
1、下列哪些语句关于内存回收的说明是正确的?(B) A、程序员必须创建一个线程来释放内存 B、内存回收程序负责释放无用内存 C、内存回收程序允许程序员直接释放内存 D、内存回收程序可以在指定的时间释放内存对象 解析: Android是一款基于Linux内核、面向移动终端的操作系统。主要包含下面几个层次: 1. Application Framework Appli...原创 2018-08-03 21:32:26 · 313 阅读 · 0 评论 -
【Android】Android的消息机制
Android的消息机制主要是指Handler的运行机制,Handler的运行是需要底层的MessageQueue和Looper的支撑。在本消息机制中,主要有如下几个部分: 1、Message Message是在线程之间传递的消息,它可以在内部携带少量的信息,用于不同的线程之间交换数据。可以使用what字段、arg1、arg2携带一些整型数据,使用obj字段携带一个Object对象。 2...原创 2018-08-05 17:55:11 · 2122 阅读 · 0 评论 -
【Android】EventBus使用
EventBus是一种用于Android的发布/订阅事件总线。能够简化各组件之间、组件与后台线程间的通信。可以实现如下需求:请求网络,网络返回时通过Handler或Broadcast通知UI,两个Fragment之间需要通过Listener通信等。能有效分离事件发送方和接收方(解耦)。 EventBus使用的三步骤 1、定义事件 2、订阅事件 3、发布事件 一、定义事件:任意的java...翻译 2018-08-07 14:37:21 · 204 阅读 · 0 评论 -
【Android】线程与线程池
一、线程 在Android系统中,线程分为主线程与子线程,众所周知,主线程主要处理和UI相关的操作,而子线程则用于处理耗时的操作,除了Thread外,扮演线程角色的还有AsyncTask、IntentService和HandlerThread等。AsyncTask封装了线程池和Handler,主要是为了方便开发者在子线程中更新UI;HandlerThread是一个消息循环的线程,其内部可以使用...原创 2018-08-08 16:21:56 · 202 阅读 · 0 评论 -
【Android】View的事件分发机制
一、MotionEvent事件 手指接触屏幕后所产生的事件,主要有如下几种: 1、ACTION_DOWN:手指接触屏幕 2、ACTION_MOVE:手指在屏幕上移动 3、ACTION_UP:手指从屏幕上松开 通常有如下的一系列事件: 1、点击屏幕后离开松开,事件序列为DOWN->UP 2、点击屏幕滑动一会再松开,事件序列为DOWN->MOVE->MOVE-...原创 2018-08-18 17:13:35 · 1570 阅读 · 0 评论 -
【MaterialDesign】CardView
CardView是用于实现卡片式布局效果的重要控件,由appcompat-v7库提供。实际上CardView也是一个FrameLayout,只是额外提供圆角和阴影等效果。 1、使用方法 在app的build.gradle文件中添加依赖。 implementation 'com.android.support:appcompat-v7:26.1.0' implementation 'com.a...原创 2018-10-28 17:47:31 · 1169 阅读 · 0 评论 -
【Android】系统架构
Android系统架构图: 上述系统架构图一共分为5层:LinuxKernel、HAL、库、Java Api框架和系统应用层。 1. Linux内核 Android平台的基础是Linux内核,例如,Android Runtime依靠Linux内核来执行底层功能,例如线程和低层内存管理。Linux内核主要负责硬件的驱动程序、网络、电源、系统安全以及内存管理等功能。 2. 硬件抽象层(HAL) ...原创 2018-10-29 11:07:48 · 412 阅读 · 0 评论 -
【Android】IPC(进程间通信)
IPC是Inter-process communication的缩写,含义为进程间通信或者跨进程通信 Android中的多进程模式 1、开启多进程模式 在Android中使用多进程只有一种方法,就是给四大组件在AndroidMenifest中指定android:process属性。(有一种非常规的方法:通过JNI在native层中去fock一个新的进程。)如下代码所示: <activit...原创 2018-10-29 11:25:07 · 2389 阅读 · 0 评论 -
【Android】Android系统启动过程
在手机泛滥和高速发展的时代,各种飙配置,秀功能,秀亮点的阶段,大屏+大电池已成为标配,同时手机也是最重要的社交工具的时候,大家的手机已经很少关机了,分秒必争的时候,大家都不想浪费那1分钟的开机时间,希望用手滑动那个指纹解锁图案或者触摸指纹识别器,用可爱帅气的面容就能解锁手机,直接使用。很多人似乎忘记了手机还可以开机关机呢。今天就先来聊聊Android手机开机系统启动的流程。 一、Android...原创 2019-03-07 22:52:55 · 327 阅读 · 0 评论 -
【Android】ExpandableListView二级列表使用介绍
ExpandableListView是一个用于垂直滚动展示二级列表的视图,与ListView不同的是它可以展示二级列表,分组可以 单独展开子选项。这些选项数据是通过ExpandableListView关联的。创建布局文件<ExpandableListView android:layout_width="match_parent" ...原创 2018-05-22 11:14:41 · 2457 阅读 · 0 评论 -
【Android】四大组件
应用组件是android应用的基本构建基块。每个组件都是一个不同的点,系统可以通过它进入应用。并非所有组件都是用户的实际入口,有些组件相互依赖,但每个组件都以独立的实体形式存在,并发挥特定作用,每个组件都是唯一的构建基块,有助于定义应用的总体行为。四大组件分别是:activity、service、Broadcast Receiver(广播接受者)、Content Provider(内容提供者)一、...原创 2018-05-22 10:30:12 · 294 阅读 · 0 评论 -
【android】Activity启动模式
本文参考自: ①《Android开发艺术探索》 ②Android Developers:https://developer.android.google.cn/guide/components/activities/tasks-and-back-stack Android Activity启动模式共有4种:standard(默认模式)、singleTop、singleTask和sin...原创 2018-05-20 15:27:05 · 226 阅读 · 0 评论 -
【android】1、intent
android Intent意图介绍原创 2017-05-10 11:53:15 · 349 阅读 · 0 评论 -
【android】3、Toolbar
Toolbar包含ActionBar,是一个view。通常在activity的顶端,用于标题栏等。 在使用Toolbar时,要将activity中原有的ActionBar隐藏掉,否则原有的actionBar和Toolbar会同时出现在顶端。 隐藏ActionBar: 使用Toolbar,布局文件如下: <android.support.v7.widget.Toolbar xml原创 2017-09-04 21:12:32 · 224 阅读 · 0 评论 -
【android】4、启动组件
1、四种组件中的activity、服务和广播接收者都通过Intent的异步消息进行启动,Intent会在运行时去各个组件相互绑定(可以将Intent视为其他组件请求操作的信使。)无论组件属于自己应用还是其他应用,都可以进行绑定。2、Intent使用Intent对象创建,他定义的消息用于启动特定组件或者特定类型的组件,可以显式、隐式启动。3、对于Activity和服务,Intent定义要执行的操作,并转载 2017-11-23 10:23:58 · 927 阅读 · 0 评论 -
【android】5、清单文件
清单文件转载 2017-11-23 10:31:39 · 511 阅读 · 0 评论 -
【android】6、ListView优化
ListView优化原创 2017-11-23 11:43:56 · 219 阅读 · 0 评论 -
【android】7、五大存储
SharePreferences是Android的一个轻量存储类,是XML文件的键值对存储数据,用于存储软件配置、部分用户信息等基础信息。其存储的数据在/data/data//shared_prefs/目录下。 1、有如下三种方式获得SharedPreferences对象: ①Context类:getSharedPreferences()方法 该方法有两个参数:第一个参数为文件名,第二个参原创 2017-11-24 19:32:18 · 350 阅读 · 0 评论 -
Android studio使用Gradle Project
在学习Retrofit2 demo时的Gradle project问题。demo如下:https://www.jianshu.com/p/0cd258eecf60 感谢作者提供的demo!1、导入gradle project2、在File->project structure中配置jdk版本,经过尝试后发现jdk版本为jdk1.8.0_161时能使用。3、在Gradle Project中刷...原创 2018-03-03 20:35:18 · 618 阅读 · 0 评论 -
【Android】MVP模式
GMT检测语言世界语中文简体中文繁体丹麦语乌克兰语乌兹别克语乌尔都语亚美尼亚语伊博语俄语保加利亚语僧伽罗语克罗地亚语冰岛语加利西亚语加泰罗尼亚语匈牙利语南非祖鲁语卡纳达语印地语印尼巽他语印尼爪哇语印尼语古吉拉特语哈萨克语土耳其语塔吉克语塞尔维亚语塞索托语威尔士语孟加拉语宿务语尼泊尔语巴斯克语布尔语(南非荷兰语)希伯来语希腊语德语意大利语意第绪语拉丁语拉脱维亚语挪威语捷克语斯洛伐克语斯洛文尼亚语斯瓦...原创 2018-05-18 11:25:31 · 213 阅读 · 0 评论 -
【Android】EventBus源码解析(3.1.1)
文章目录零、Android消息机制一、EventBus中的概念讲解1、TheadMode线程模式2、Subscribe注解3、SubscriberMethod订阅者方法4、Subscription5、PostingThreadState发送事件线程状态的封装类二、getDefault:获取EventBus单例三、register(Object subscriber)注册1、寻找订阅方法集合Subs...原创 2019-04-21 15:46:47 · 362 阅读 · 0 评论