![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android
mLuoya
这个作者很懒,什么都没留下…
展开
-
Android类加载器概念与应用
类加载器负责将.class文件加载到内存中,并为之生成对应的Class对象当程序使用某个类时,如果该类还未被加载到内存中,则系统会通过加载,连接,初始化三步来对其初始化加载:指将class文件读入内存,并为之创建一个Class对象。任何类被使用时系统都会建立一个Class对象连接:验证 是否有正确的内部结构,并和其他类协调一致准备 负责为类的静态成员分配内存,并设置默认初始化值...原创 2019-02-22 07:51:57 · 5522 阅读 · 0 评论 -
AsyncTask
AsyncTask应用场景:需获取子线程耗时任务的回调结果。需在Thread和Handler中编写代码逻辑,AsyncTask类将两者封装统一,相当于多线程框架基础使用1、以下重写的方法除doInBackground(),均在主线程中执行2、AsyncTask的实例必须在主线程中创建,execute()必须在主线程中调用3、一个AsyncTack的实例,只能执行一次execute方法,...原创 2019-02-20 22:21:44 · 5171 阅读 · 0 评论 -
Bundle的使用与解析
Bundle应用场景举例Activity:onCreat()、onSaveInstanceState()Fragment: setArguments()Message:setData()源码//位于android.os包中,final类public final class Bundle extends BaseBundle implements Cloneable, Parcelab...原创 2019-02-20 22:24:08 · 18209 阅读 · 0 评论 -
Android手势指示器使用与解析
GestureDetector对外提供了两个接口(OnGestureListener,OnDoubleTapListener)和一个内部类(SimpleOnGestureListener) 应用场景:重写的onTouchEvent()处理事件能力过于简单,因此GestureDetector应用于更复杂的touch事件的处理构造函数new GestureDetector(GestureDet...原创 2019-02-20 22:36:34 · 5416 阅读 · 0 评论 -
getSystemService使用汇总
getSystemService使用WifiManager wifiManager = (WifiManager)getSystemService(Context.WIFI_SERVICE); WifiManager wifiManager = (WifiManager)getSystemService("wifi");部分ManagerManager常量String...原创 2019-02-21 08:51:19 · 7458 阅读 · 0 评论 -
Android注解解析与使用
注解 Annotation:Java提供的一种元程序中的元素关联任何信息或者任何元数据(metadata)的途径和方法基本规则:Annotation(注解)不能影响程序代码的执行,无论增加,删除注解,代码都始终如一的执行元数据(metadata) 1、以标签的形式存在于Java代码中2、描述的信息是类型安全的3、需要编译器之外的工具额外的处理用来生成其他的程序部件4、可以存在于J...原创 2019-02-21 08:31:20 · 6202 阅读 · 0 评论 -
Android异常总结
异常概述Java程序在运行过程中出现的错误分类Error:服务器宏机,数据库崩溃等Exception编译时异常:Java程序必须显示处理,否则程序会发生错误,无法通过编译,如:IOException,SQLException等当函数中存在抛出检查型异常的操作时该函数的函数声明中必须包含throws语句。调用改函数的函数也必须对该异常进行处理,如不进行处理则必须在调用函数上声明thro...原创 2019-02-21 08:32:37 · 5789 阅读 · 0 评论 -
Android常用数据存储方式汇总
数据存储文件权限文件权限标识符:-rwxrw-r–共10位,分为4段。注:r:可读,w:可写,x:可执行。第一段(第1位):目录或文件,-表示文件,d表示目录第二段(第2-4位,共3个字符串):文件所属用户对它的权限第三段(第5-7位,共3个字符串):文件所属用户组用户对它的权限第四段(第8-10位,共3个字符串):其他用户对它的权限8进制表示文件权限规则:r=4,w=2,x=1。...原创 2019-02-21 08:33:43 · 5344 阅读 · 0 评论 -
Android事务解析
事务 并发控制的单位,时用户定义的一个操作序列。这些操作序列要么全部执行,要么全部不执行,是个不可分割的工作单位。如果事务操作成功,则该事务进行的所有数据均会提交,更改成为数据库中的永久组成部分;如果事务操作失败,则所有操作均取消,所有数据的更改均清除特性 原子性:事务是数据库的逻辑工作单元一致性:事务执行结果必须是使数据库从一个一致性状态变到另一个一致性状态隔离性:一个事务的执行...原创 2019-02-21 08:37:27 · 5603 阅读 · 0 评论 -
Android内存解析
内存冷启动冷启动:在启动应用前,系统没有该应用的任何进程信息热启动:用户使用返回键退出应用,然后马上有重新启动应用流程冷启动时间:从应用启动(创建进程),到完成视图的第一次绘制(即Activiy内容对用户可见)过程:Zygote进程中fork创建出一个新的进程,然后创建和初始化Application类,创建MainActivity类,inflate布局,当onCreate/onStar...原创 2019-02-21 08:38:42 · 5135 阅读 · 0 评论 -
LayoutInflater使用与解析
LayoutInflater与findViewById()区别LayoutInflater:用来找res/layout/下的xml布局文件,并且实例化 对于一个没有被载入或者想要动态载入的界面,都需要使用LayoutInflater.inflate()来载入findViewById():找xml布局文件下的具体widget控件(如Button、TextView等) 对于一个已经载入的...原创 2019-02-21 08:52:57 · 6746 阅读 · 0 评论 -
ThreadLocal的使用与解析
ThreadLocal 用来解决对某一变量访问的冲突问题。ThreadLocal维护变量时,为每个使用该变量的线程提供一个独立的变量副本。因此多线程访问变量时,不会相互影响,因此不存在多线程安全问题,也不影响程序的执行能力 由于在每个线程中都创建了副本,所以需要考虑它对资源的消耗。 线程的局部变量, 是每一个线程所单独持有的**,其他线程不能对其进行访问, **通常是类中的 priva...原创 2019-02-21 08:54:58 · 5172 阅读 · 0 评论 -
Android IO流总结
IO流概念:处理设备间数据传递常用父类字节流抽象父类:InputStream、OutputStream字符流抽象父类:Reader、Writer字节流FileInputStream\FileOutputStreamFileInputStream fis = new FileInputStream("before.mp3"); //创建输入流对象,关联致青春.mp3FileOut...原创 2019-02-22 08:18:58 · 5614 阅读 · 0 评论 -
Application
Application 和Activity,Service一样,是Android框架的一个系统组件。生命周期等于这个程序的生命周期,全局单例生命周期onCreate() 创建,可用于获取ApplicationContext供单例使用onTerminate() 在模拟环境下可执行,在真机下永远不会执行。且终止对象时不保证一定被调用onLowMemory() 内存较低的时候执行...原创 2019-02-20 22:16:45 · 5206 阅读 · 0 评论 -
Android性能优化总结
Android性能优化目的:更快,更稳定,更省更快:运行流畅,不卡顿,快速响应用户操作更稳定:程序运行过程中不出现无响应,崩溃等问题更省:节约资源,包括内存,电量,流量,安装包等流畅性启动速度 原因:初次开启应用时,需要加载多种资源或功能方案:异步加载(多线程),分步加载,延期加载页面显示速度 原因:页面绘制内容过多,过度绘制;使用复杂的动画方案布局优化:合理选择布局类...原创 2019-02-20 22:14:34 · 5241 阅读 · 0 评论 -
AndroidManifest.xml详解
AndroidManifest.xml Android应用的入口文件,它描述了package中暴露的组件(activities, services, 等等),他们各自的实现类,各种能被处理的数据和启动位置结构图<?xml version="1.0"encoding="utf-8"?><manifest> <uses-sdk/> &l...原创 2019-02-20 22:12:46 · 9302 阅读 · 0 评论 -
Android进程概念与应用
进程应用场景 类似音乐类、跑步健身类、手机管家类等长时间需要在后台运行的应用Android中的进程Android中的进程前台 &amp;gt; 可见 &amp;gt; 服务 &amp;gt; 后台 &amp;gt; 空Foreground process 前台进程(满足任一个条件)1、拥有一个正在和用户交互的Activity(也就是说Activity 的onResume()方法被执行了)2、拥有一...原创 2019-02-22 07:54:05 · 5245 阅读 · 0 评论 -
Android软键盘使用
imeOptions属性 点击编辑框,软键盘右下角有不同的图标常用属性说明actionUnspecified切换到下一项按钮(默认)actionNone同上actionGoGO按钮actionSearch搜索按钮actionSend发送按钮actionNext下一个按钮actionDone完成按钮使用1 //si...原创 2019-02-18 23:13:38 · 6393 阅读 · 0 评论 -
Android USB使用
USB使用技巧WIFI连接Android设备应用场景无USB数据线需连接Android设备,且能使用USB连接时的所有命令连接步骤1 PC与Andorid设备处同一Wi-Fi环境下2 获取Android设备IP地址方法一:设置 → 关于手机 → 状态信息 → IP地址方法二:设置 → WLAN → 当前连接上的Wi-Fi → IP地址(部分机型需按Menu键并选择...原创 2019-02-18 23:18:48 · 5976 阅读 · 0 评论 -
Android插件化
Android插件化 减少安装包大小,实现app功能模块化动态扩展发展历程需解决三个问题插件中代码的加载和与主工程的互相调用插件中资源的加载和与主工程的互相访问四大组件生命周期的管理框架发展的三代第一代dynamic-load-apk:使用ProxyActivity静态代理技术由ProxyActivity去控制插件中PluginActivity的生命周期缺点:插件中的acti...原创 2019-02-24 13:24:22 · 4920 阅读 · 0 评论 -
Binder机制详解
Binder机制 Android系统中进程间通讯(IPC)的一种方式,Android中ContentProvider、Intent、aidl都是基于Binder内存管理 Binder最大只能传1M的数据,因为Binder驱动只预留了一段1M大小的虚拟地址mmap中定义BINDER_VM_SIZE为1M,Binder数据需要跨进程传递,需要在内核上开辟空间,所以允许在Binder上传递的...原创 2019-02-24 13:30:33 · 8587 阅读 · 0 评论 -
Andrid概念——Window全认识(持续更新)
WindowWindowManagerService 位于 Framework 层的窗口管理服务,管理系统中的所有窗口窗口(Window):一块显示区域,在 Android 中就是绘制的画布。VIew为Window的实体,Window是一个抽象概念可独立完成对Window的操作, 作为系统级服务运行在一个单独的进程。因此,WindowManager 和 WindowManagerServ...原创 2019-02-24 13:38:17 · 4940 阅读 · 0 评论 -
Android架构设计模式
架构设计模式MVCModel 模型层,负责处理数据加载或者存储View 视图层,负责界面数据展示,与用户进行交互Controller 控制器层,负责逻辑业务处理优点耦合性低重用性高生命周期成本低部署快可维护性高有利软件工程化管理缺点无明确的定义不适合小,中型等应用程序增加系统结构和实现的复杂性视图与控制器间连接紧密视图对模型数据的访问效率低一般高级的界面工具...原创 2019-02-24 13:43:05 · 5378 阅读 · 1 评论 -
Android四种引用
四种类型强引用(Strong Reference)经常使用,内存不足,抛出OOM异常使程序异常终止。不会回收强引用对象来解决内存不足问题软引用(Soft Reference)当无强引用指向时,会在内存中停留一段时间。垃圾回收器根据JVM内存使用情况及SoftReference.get()调用情况决定是否对其回收弱引用(Weak Reference)只要垃圾回收器对其回收,无论内存使用情...原创 2019-02-19 08:36:57 · 5581 阅读 · 0 评论 -
Android Intent全解析
IntentIntent 可以携带的数据类型八种基本数据类型boolean、byte、char、short、int、float、double、long 和String 以及这9 种数据类型的数组形式实现了Serializable 接口的对象实现了Android 的Parcelable 接口的对象以及其数组对象Activity使用Intent跳转显式Intent intent = ne...原创 2019-02-25 23:29:31 · 4342 阅读 · 0 评论 -
Java GC机制与常用算法
GC Garbage Collection 垃圾收集:所谓的垃圾是指,在系统运行过程当中所产生的一些无用的对象,这些对象占据着一定的内存空间,如果长期不被释放,可能导致OOM Java中,GC的对象是Java堆和方法区(即永久区) 。在C/C++里是由程序猿自己去申请、管理和释放内存空间,因此没有GC的概念 Java中,后台专门有一个专门用于垃圾回收的线程来进行监控、扫描,自动将一些无...原创 2019-02-20 22:06:05 · 5266 阅读 · 0 评论 -
Android颜色全解析
Android颜色全解析 颜色对照表:https://blog.csdn.net/lm_zp/article/details/51381355颜色表示方法 Android颜色由16进制表示,颜色范围为0~FFFFFF。 颜色值:#AARRGGBB。透明度(A,alpha);红色(R,red);绿色(G,green);蓝色(B,blue颜色值透明度百分比和十六进制对应关系//变化为...原创 2019-03-28 00:23:53 · 1942 阅读 · 0 评论