Android学习笔记
记录一下Android的学习,毕竟以后我就是一个安卓开发者了,哈哈哈
不穿鞋的猫丶
这个作者很懒,什么都没留下…
展开
-
字节基础1
1.算法题:寻找k:在无序数组中,k的所有左值比它更小,所有右值比他更大。限定o(n)。2.算法题:将int转换成汉字表示,尽量考虑边界以及特殊情况。(0,1,-1,10,12,123,1000,1001)线程的同步方式synchronizedvolatileReentrantLock进程和线程的区别?进程:是并发执行的程序在执行过程中分配和管理资源的基本单位,是一个动态概念,竞争计算机资源的基本单位线程:是一个进程的执行单元,比进程更小的独立运行的基本单位,它也被称为轻量级进程,是cp原创 2020-08-23 23:23:15 · 404 阅读 · 0 评论 -
Okhttp
简介Http是现在应用常用的一种交换数据和媒体的网络方式,高效地使用http能让资源加载更快,节省带宽。Okhttp是一个高效的Http客户端,它的特性如下:支持Http/2,允许所有同一个主机地址的请求共享同一个socket连接连接池能够减少请求延时透明的GZIP压缩能够减少响应数据的大小缓存响应内容,避免一些完全重复的请求当网络请求出现问题的时候okhttp依然坚守自己的职责,它会自动恢复一般的连接问题,如果你的服务有多个ip地址,当第一个ip请求失败时,Okhttp会交替尝试你配置的其转载 2020-08-13 16:41:05 · 3044 阅读 · 0 评论 -
Retrofit
简介Retrofit是一个Restful设计风格的Http网络请求框架,基于OkHttp功能基于OkHttp、遵循restful api设计风格通过注解配置网络请求参数支持同步、异步的网络请求支持多种数据的解析和序列化格式(Gson、Json、XML、Protobuf)提供了对RxJava的支持优点功能强大、简洁易用、可扩展性好应用场景任何网络请求的场景都应该优先选择,特别是后台API遵循restful API设计风格或项目中使用到RxJava时小结准确来说,Retrofi转载 2020-08-10 17:45:47 · 890 阅读 · 0 评论 -
Android基础3
Activity(A)跳转到Activity(B)又回到Activity(A),怎么保证数据的持久化?在Activity的onPause()方法中保存数据,比如用SharedPreference如果跳转到活动B后,活动A被回收,此时再返回活动A,活动A会经历那些阶段?如果Activity是异常回收的,那么A回收的时候会调用onSaveInstanceState()来临时保存数据,在回到Activity A中时,会重新调用oncreate(),onStart(),然后调用onRestoreInst原创 2020-07-28 22:59:54 · 222 阅读 · 0 评论 -
Android基础2
java的基本数据类型有哪些?int、long、short、byte、char、boolean、float、double引用数据类型有哪些?类、接口、数组、枚举、字符串基本数据类型和引用数据类型的区别?存储位置不同:基本数据类型被创建时在栈上划分内存直接存储在栈上,而引用数据类型是在栈上给引用分配一块内存,对象的具体信息都存储在堆上。传递方式不同:方法中定义的非全局基本数据类型变量调用方法时是按值传递的,而引用数据类型变量调用方法时是按引用传递的tcp/ip协议上有哪些层,这些层上的协议是原创 2020-07-19 11:00:19 · 131 阅读 · 0 评论 -
Service
简介Service是Android的四大组件之一,属于计算型组件,它的作用是提供需在后台长期运行的服务(比如复杂计算、音乐播放、下载等),特点是无用户界面、在后台运行、生命周期长生命周期 常用方法在Service的生命周期里,常用的有:4个手动调用的方法手动调用方法作用startService()启动服务stopService()关闭服务bindService绑定服务unbindService解绑服务5个自动调用的方法内部自动转载 2020-06-26 12:17:51 · 467 阅读 · 0 评论 -
BroadcastReceiver
定义即广播,是一个全局的监听器,属于Android四大组件之一,有两个角色:广播发送者、广播接收者;它的作用是监听/接收应用App发出的广播消息,并作出响应应用场景Android不同组件间的通信(应用内/不同应用之间)多线程通信与Android系统在特定情况下的通信实现原理采用的模型Android中的广播使用了设计模式中的观察者模式:基于消息的发布/订阅事件模型。它将广播的发送者和接收者解耦,使得系统方便集成,更易扩展模型讲解模型中有3个角色:1. 消息订阅者(广播接收者)2.转载 2020-06-23 17:41:27 · 324 阅读 · 0 评论 -
Activity
定义即活动,属于展示型组件属于Android四大组件之一:Activity、Service、BroadcastReceiver、ContentProvider作用显示界面、与用户进行交互1.一个Activity通常是一个界面,是四大组件中唯一能被用户感知的2.每个Activity都被实现为一个独立的类,从活动基类中继承过来的3.Activity之间通过Intent通信启动模式4种启动模式的区别:启动过程具体描述当请求启动Activity时:Launcher进程通过B转载 2020-06-23 10:43:30 · 596 阅读 · 0 评论 -
Android基础1
进程和线程进程是资源分配的最小单元,它有自己独立的地址空间和独立的堆,操作系统以进程为单位来分配系统资源,比如cpu时间片和内存空间线程有时候被成为轻量级进程,是cpu调度执行的最小单位区别:1.线程是调度和分配的基本单位,进程是拥有资源的基本单位2.进程之间可以并发执行,同一个进程内的多个线程之间也能够并发执行3.进程是拥有资源的一个独立单位,线程不拥有系统资源,但是可以访问进程的资源4.进程的创建和销毁的开销更大,进程有独立的地址空间,所以一个进程崩溃后, 并不会对其他进程产原创 2020-07-08 19:20:50 · 236 阅读 · 0 评论 -
ContentProvider
Binder总体把握:什么是Binder?知识储备进程空间划分一个进程分为用户空间和内核空间,即把进程内的用户和内核隔离开二者的区别:进程间,用户空间的数据不共享,所以用户空间就是不可共享的空间进程间,内核空间的数据可共享,所以内核空间就是可共享的空间所有进程共用1个内核空间进程内的用户空间和内核空间之间进行交互需要通过系统调用,主要通过函数:copy_from_user() : 将用户空间的数据拷贝到内核空间copy_to_user() : 将内核空间的数据转载 2020-06-21 11:24:24 · 605 阅读 · 0 评论 -
View的绘制流程
LayoutInflater1. 什么是LayoutInflater?LayoutInflater是一个用于将xml布局文件加载为View或者ViewGroup对象的工具,也被称为布局加载器。它主要用于加载布局2. LayoutInflater的基本用法代码如下:<?xml version="1.0" encoding="utf-8"?>```xml<?xml version="1.0" encoding="utf-8"?><Button x转载 2020-05-25 18:37:43 · 171 阅读 · 0 评论 -
Android存储
1. SharedPreferences1.1 定义SharedPreferences是一种轻量级的数据存储方式,采用Key/Value的方式进行映射,以键值对的形式存储在XML中千万不要使用SharedPreferences去存储大量的数据,否则会严重影响应用的性能,甚至出现ANR1.2 具体使用1.2.1 保存数据本质: 以键值对的形式存储在xml文件中文件存储在/data/data/shared_prefs目录下获取SharedPreferences对象的方法: &n原创 2020-05-21 15:34:19 · 175 阅读 · 0 评论 -
Handler
Handler1. 定义是一套Android消息传递机制/异步通信机制2. 作用在多线程的应用场景中,将工作线程中需要更新UI的操作信息传递到UI主线程,从而实现工作线程对UI的更新处理,最终实现异步消息的处理3. 为什么要用Handler消息传递机制为了在多个线程并发更新UI的同时,保证线程安全具体描述如下:4. 相关概念5. 使用方式Handler的使用方式因发送消息到消息队列的方式的不同而不同使用Handler.sendMessage(),使用Handler.转载 2020-05-20 20:58:05 · 151 阅读 · 0 评论 -
AsyncTask
1. 定义一个Android已经封装好的轻量级异步类是一个抽象类,使用时需要自己去实现public abstract class AsyncTask<Params, Progress, Result> { ... }2. 作用多线程:在工作线程中执行任务(比如耗时任务)异步通信,消息传递:实现工作线程和UI线程之间的通信3. 优点方便实现异步通信:不需要使用"任务线程 + Handler"的组合节省资源:采用了线程池的缓存线程 + 复用线程,避免了频繁创建和销毁线程所转载 2020-05-19 16:08:04 · 216 阅读 · 0 评论 -
Android的布局
什么是布局? 布局是一种可以用于放置很多控件的容器,它可以按照一定的规律调整内部控件的位置,从而编写出精美的界面。布局的内部除了放置控件外,也可以放置布局,通过多层布局的嵌套,我们就能够完成一些比较复杂的界面实现 LinearLayout &n...原创 2020-05-06 17:15:33 · 157 阅读 · 0 评论 -
Activity的生命周期,启动模式与回收
一.Activity的生命周期返回栈 Android是使用任务(task)来管理Activity的,一个任务就是一组存放在栈里的Activity的集合,这个栈被称为返回栈。每当新起了一个Activity,它就会在返回栈中入栈,当按下Back或者调用finish()方法去销毁一个Activity时,处于栈顶的Activity就会出栈,下面的Activit...原创 2020-05-05 16:32:03 · 393 阅读 · 0 评论