
Android
文章平均质量分 95
_NOUS_
耐心
展开
-
Kotlin学习记录(三) 协程
Kotlin学习记录 协程(三)前言什么是并发?什么是并行?什么是多任务?什么是协作式多任务?什么是抢占式多任务?什么是同步?什么是异步?什么是阻塞?什么是非阻塞?什么是挂起?什么是非阻塞式挂起?什么是协程?Kotlin 协程有什么用?十五、使用协程编写高效的并发程序15.1 协程的基本用法使用 GlobalScope.launch 函数创建你的第一个协程使用 Delay 函数延迟协程执行使用 runBlocking 函数创建一个能阻塞当前线程的协程作用域使用 launch 函数在当前的协程作用域下创建子协原创 2022-05-14 21:11:14 · 812 阅读 · 0 评论 -
Kotlin学习记录(二)标准函数、静态方法、延迟初始化和密封类、扩展函数和运算符重载、高阶函数、高阶函数的应用、泛型、类委托和委托属性
Kotlin学习记录(二)标准函数、静态方法、延迟初始化和密封类、扩展函数和运算符重载、高阶函数、高阶函数的应用、泛型、类委托和委托属性七、标准函数和静态方法7.1 标准函数with、run和apply7.2 定义静态方法真正的静态方法:注解和顶层方法八、延迟初始化和密封类8.1 对变量延迟初始化8.2 使用密封类优化代码九、扩展函数和运算符重载9.1 大有用途的扩展函数9.2 有趣的运算符重载十、高阶函数10.1 定义高阶函数10.2 内联函数的作用10.3 noinline与crossline十一、高阶原创 2022-05-12 08:53:49 · 549 阅读 · 2 评论 -
Kotlin学习记录(一)简介、变量和函数、逻辑控制、面向对象、Lambda、空指针检查
Kotlin学习记录(一)简介、变量和函数、逻辑控制、面向对象、Lambda、空指针检查一、简介二、编程之本:变量和函数2.1 变量2.2 函数三、Kotlin中的程序逻辑控制3.1 if语句3.2when语句`when`与`switch`的区别:3.3 循环语句Kotlin区间四、面向对象编程4.1 类与对象4.2 继承与构造函数主构造函数次构造函数4.3 接口函数的可见修饰符4.4数据类与单例类数据类单例类五、Lambda编程对接口的要求5.1 集合的创建与遍历5.2 集合的函数式API5.3 Java原创 2022-05-08 19:03:42 · 801 阅读 · 0 评论 -
Android性能优化学习记录(三)Bitmap 与 资源节省性优化
Android性能优化学习记录(三)Bitmap 与 资源节省性优化一、Bitmap优化原因具体优化方案使用完毕后 释放图片资源根据分辨率适配 & 缩放图片按需 选择合适的解码方式储备知识:ARGB设置 图片缓存总结二、资源节省性内存优化减少安装包大小减少网络流量减少应用的耗电量总结参考资料一、Bitmap优化原因为什么要优化图片Bitmap资源?因为Android系统分配给每个应用程序的内存有限,图片资源(Bitmap)非常消耗内存,很多情况下,图片所占的内存占整个App内存的大部分如果原创 2022-04-29 21:41:38 · 1385 阅读 · 0 评论 -
Android性能优化学习记录(二)稳定性与内存优化
Android性能优化学习记录(二)稳定性这里写目录标题Android性能优化学习记录(二)稳定性一、稳定性ApplicationNotResponding****Crash****稳定性总结二、内存优化**作用**1. **储备知识:Android 内存管理机制**1**.1 简介**1.2 针对进程的内存策略1**.3 针对对象、变量的内存策略****a. 内存分配策略**b. 内存释放策略2. 常见的内存问题 & 优化方案2.1 内存泄露2**.2 图片资源Bitmap相关**2.3 **内原创 2022-04-29 19:14:16 · 1518 阅读 · 0 评论 -
Android性能优化学习记录(一)概述、流畅性
Android性能优化学习记录(一)概述、流畅性Android性能优化学习记录(一)概述、流畅性Android性能优化学习记录(一)概述、流畅性一、性能优化概述目的需优化的性能指标优化方向二、流畅性2.1 启动速度2.2 页面显示速度2.2.1 绘制优化什么是绘制?优化方向方案一:降低View.onDraw()的复杂度方案二:避免过度绘制(Overdraw)过度绘制的优化原则绘制优化方案1: 移除默认的 Window 背景优化方案2:移除 控件中不必要的背景优化方案3:减少布局文件的层级(减少不必要的嵌套原创 2022-04-25 20:58:17 · 2273 阅读 · 2 评论 -
Android Window学习记录(二)Window的创建
Android Window学习记录(二)Window的创建一、什么是DecorView?二、Window的创建2.1 Activity的Window创建过程2.2 Dialog的Window创建过程2.3 Toast的Window创建过程2.4 PopupWinodw的window创建过程参考资料有关window和windowmaanger的理解可以参考这篇博客https://blog.youkuaiyun.com/qq_53749266/article/details/124332280?spm=1001.201原创 2022-04-22 17:34:39 · 2288 阅读 · 0 评论 -
Android Window学习记录(一)理解window和windowmanager
Android Window学习记录(一)理解window和windowmanager一、Window什么是Window小结为什么需要Window小结Window的相关属性window的type属性Window的flags参数window的solfInputMode属性如何给window属性赋值小结Window和WindowManager的关系二、WindowManagerWindow的添加过程Window的删除过程Window的更新过程参考资料一、Window什么是Window在Android框架层原创 2022-04-21 21:31:06 · 2869 阅读 · 0 评论 -
Android IntentFilter的匹配规则
IntentFilter的匹配规则IntentFilter的匹配规则IntentFilter的匹配规则一、Intent简介二、IntentFilter匹配规则1.action的匹配规则2.category的匹配规则3.[data](https://developer.android.google.cn/guide/topics/manifest/data-element)的匹配规则使用案例:参考资料一、Intent简介Android中提供了Intent机制来协助应用间的交互与通讯,Intent负责对应原创 2022-04-18 13:30:43 · 1534 阅读 · 1 评论 -
Android Activity的启动模式学习记录
Activity的启动模式学习Activity的启动模式时,我们必须要搞清楚它的启动模式和标志位。standard 标准模式这是Activity默认的启动模式,在每次启动的时候都会创建一个新的activity实例(不管这个实例之前是否被创建)。被创建实例的生命周期符合典型情况下的activity的生命周期。一个任务栈中可以有多个Activity实例,每个Activity实例也可以属于不同的任务栈。在这种模式下,谁启动了这个Activity,那么这个Activity就运行在启动它的那个Activity所原创 2022-04-17 18:48:19 · 809 阅读 · 0 评论 -
Android线程和线程池(三)IntentService学习记录 使用+源码
IntentServiceAndroid里的一个封装类,继承四大组件之一的Service。ntentService封装了HandlerThread和Handler。一、作用处理异步请求 & 实现多线程二、使用场景线程任务 需 按顺序、在后台执行最常见的场景:离线下载不符合多个数据同时请求的场景:所有的任务都在同一个Thread looper里执行三、使用步骤步骤1:定义 IntentService的子类,需复写onHandleIntent()方法步骤2:在Manifest.xm原创 2022-04-17 12:55:39 · 923 阅读 · 0 评论 -
Android线程和线程池(二)HandlerThread学习记录 使用+源码
HandlerThreadAndroid线程和线程池(二)HandlerThread学习记录 使用+源码一、作用二、工作原理三、HandlerThread的特点优势:劣势:四、使用五、源码****步骤1:创建HandlerThread的实例对象********步骤2:启动线程********步骤3:创建工作线程Handler & 复写handleMessage()********步骤4:使用工作线程`Handler`向工作线程的消息队列发送消息******步骤5:结束线程,即停止线程的消息循环***原创 2022-04-10 18:47:55 · 643 阅读 · 1 评论 -
Android线程和线程池(一)AsyncTask学习记录 使用+源码
线程和线程池Android线程和线程池(一)AsyncTask学习记录线程和线程池一、Java线程基本介绍1.1 线程状态1.2 为什么要使用多线程小结二、AsyncTask2.1 应用例子2.2 Callable2.3 Future2.4 FutureTask三、AsyncTask源码小结小结参考资料Android沿用了Java的线程模型,从Android3.0开始系统要求网络访问也必须在子线程中进行,否则网络访问将会失败并抛出NetworkOnMainThreadException异常。在Andro原创 2022-03-27 14:23:33 · 2913 阅读 · 0 评论 -
Android Activity的生命周期学习记录
Activity的生命周期Activity的生命周期分为两部分内容,一部分是典型情况下的生命周期,另一部分是异常情况下的生命周期。典型情况下的生命周期指在有用户参与的情况下,Activity所经过的生命周期的改变;而异常情况下的生命周期是指Activity被系统回收或者由于当前设备的Configuration发生改变从而导致Activity被销毁重建,异常情况下的生命周期的关注点和典型情况下略有不同。一、典型情况下的生命周期分析1.1 主要生命周期(1)onCreate:表示Activity正在被原创 2022-03-23 16:16:03 · 2828 阅读 · 0 评论 -
Android动画学习记录二(属性动画、估值器和插值器)
Android动画学习记录二(属性动画、估值期和插值器)自API 11 Android 3.0版本开始,系统给我们提供了一种全新的动画模式,属性动画(property animation),它弥补了之前补间动画的一些缺陷,几乎可以完全替代掉补间动画了。关于补间动画可以看这篇,https://blog.youkuaiyun.com/qq_53749266/article/details/123571771?spm=1001.2014.3001.5502如果只需要对View进行移动、缩放、旋转和淡入淡出操作,那么补间原创 2022-03-19 21:16:51 · 3816 阅读 · 0 评论 -
Android动画学习记录一(Android动画种类、补间动画和帧动画)
Android动画学习记录一(动画种类、补间动画和帧动画)动画种类、补间动画和帧动画Android动画学习记录一(动画种类、补间动画和帧动画)一、动画种类二、View动画2.1 补间动画补间动画公有属性平移动画(Translate)缩放动画(Scale)旋转动画(Rotate)透明度动画(Alpha)组合动画小结监听动画2.2 补间动画的特殊使用场景Activity切换Fragment切换视图组(ViewGroup)中子元素的出场效果(LayoutAnimation)2.2 属性动画三、帧动画使用方式参考原创 2022-03-18 12:37:12 · 1442 阅读 · 0 评论 -
Android消息机制学习记录
Android消息机制原创 2022-03-16 13:36:40 · 1626 阅读 · 0 评论 -
Android小项目——xx小天气预报 (ViewPager2+NestedScrollView+SharedPreferences+SQLite+Handler+HttpURLConnection)
一、UI展示添加地区天气多地区天气展示删除地区天气原创 2021-12-03 10:43:00 · 3327 阅读 · 0 评论 -
Android View的事件分发源码阅读记录
事件分发初探一、概述1.1 事件分发概述1.2 事件的类型1.3 什么是事件序列?1.4 事件分发过程中共同协作的方法。1.5 事件在哪些对象之间传递?传递的顺序是什么?1.6 事件的传递过程1.由上而下的传递过程2.由下而上的传递过程1.7 ViewGroup怎么通过dispatchTouchEvent()把事件传递给自己的onTouchEvent?1.8 View有自己的dispatchTouchEvent()方法吗?1.9 dispatchTouchEvent()中希望让自己的`onTouchEven原创 2021-11-26 14:07:21 · 2453 阅读 · 2 评论 -
Android第一行代码学习思考笔记(碎片、广播、持久化技术和Android数据库)
Android第一行代码学习思考笔记(碎片、广播、持久化技术、Android数据库第四章 手机平板要兼顾——探究碎片4.1碎片是什么(Fragment)4.2碎片的使用方式4.2.1碎片的简单用法4.2.2动态添加碎片4.2.3在碎片中模拟返回栈4.2.4碎片和活动之间进行通信4.3 碎片的生命周期4.3.1碎片的状态和回调4.3.2体验碎片的生命周期4.4动态加载布局的技巧4.4.1使用限定符4.4.2使用最小宽度限定符4.5碎片的最佳实践——一个简易版的新闻应用4.6小结与点评第五章全局大喇叭——详解广原创 2021-08-03 20:50:26 · 555 阅读 · 1 评论 -
Android小项目———— hh小计算器
hh小计算器一、测试点:二、用到的知识点三、遇到的问题:1. **android:layout_gravity和android:gravity的区别**2.水平horizontal,垂直vertical3.android:layout_weight="1"为控件所占比例,默认是04.栈内存中的局部变量随着方法的消失而消失。 成员变量存储在堆中的对象里面,由垃圾回收器负责回收。5.中缀转后缀规则**完成将一个中缀表达式转成后缀表达式的功能**中缀转后缀代码实现思路:使用栈计算后缀表达式思路6.除divide等原创 2021-08-02 09:19:16 · 654 阅读 · 1 评论 -
Android第一行代码学习思考笔记(第一个Android项目、探究活动和UI开发)
Android第一行代码学习笔记第一章 开始启程——你的第一行Android代码1.1了解全貌——Android王国简介1.1.1Android系统架构1.1.2Android应用开发特色1.2开发环境1.2.1准备所需要的工具1.3创建你的第一个Android项目1.3.1分析你的第一个Android程序第二章 先从看到的入手——探究活动2.1活动是什么2.2活动的基本用法2.2.1创建和加载布局2.2.2在AndroidManifest文件中注册2.2.3在活动中使用Toast2.2.4在活动中使用Me原创 2021-07-24 21:47:08 · 2320 阅读 · 2 评论