Wxy's Blog
  • 首页
  • 归档
  • 标签
  • 关于
  • 友链
不因虚度年华而悔恨,不因碌碌无为而羞愧

Kotlin-委托相关知识

委托:有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。 在Kotlin中,对委托进行了简化,通过by就可以实现委托的效果。例如前面提到的by lazy延迟初始化就是利用了委托。 Kotlin中主要分为两种:类委托、委托属性。 基本语法: 1val/var <属性名>:<类型> by <表达式> //<表达式> 指向委托
2019-07-09
#Kotlin

Kotlin协程拓展

ChannelFlowStateFlowSharedFlow与LiveData比较参考链接
2021-07-08
#Kotlin

ListView简析

ListView定义 专门用于处理那种内容元素很多,手机屏幕无法展示出所有的内容的情况。可以使用列表的形式来展示内容,超出屏幕部分的内容只需要通过手指滑动就可以移到屏幕内了。 ListView相比RecyclerView,有一些优点: addHeaderVew(),addFooterView()添加头尾视图 android:divider设置自定义分割线 setOnItemClickLis
2019-01-04
#Android

Retrofit简析

2019-03-08
#源码解析

AOP学习笔记-APT

APT全称Annotation Processing Tool-注解处理器,用于在代码编译期间解析注解并生成新的Java文件,减少手动的代码输入。 主要通过生成注解类所在类的代理类,在运行期直接调用代理类中的方法实现功能。 注解处理方案-反射注解处理方案-APT
2019-04-17
#AOP

算法核心题学习指南(Java)

使用方式(Java) 设定固定解题上限;卡住时先提炼思路,再关掉题解重写一遍 每题记录:类型 + 核心不变量 + 边界用例 + 复杂度 复盘:对错题做分层回看并闭卷重写 说明:本文主路径覆盖 Hot100 的核心 56 题;文末保留 Hot100 全量 100 题记录模板 核心学习路径(Hot100 核心 56 题)建议循环三件事: 新题 4 题(按当前模块顺序完成) 复盘 1 题(优先重做最
2020-08-03
#算法

ArrayMap简析

ArrayMapArrayMap是Android提供的轻量级Map实现,核心目标是用更低的内存开销替代部分HashMap场景。 典型特点: key/value存储在数组中,避免HashMap.Entry对象开销 查询依赖hash有序数组 + 二分查找 更适合中小规模数据,且对内存敏感的场景 适用场景 数据量中小(例如几十到几百) 读多写少,结构相对稳定 运行在内存敏感路径(UI层、短生命周期对
2019-03-08
#Android

Android需要的必备知识

第一关:Binder、AIDL、多进程(建议学习时间:2周)知识点:Binder原理、AIDL的使用、多进程的定义和特性学习资料:① Android开发艺术探索第2章【推荐理由】地球人都知道学Android要看艺术探索。② Android Bander设计与实现 - 设计篇 - universus的专栏 - CSDN博客 【推荐理由】Binder底层史上最牛逼分析,没有之一。③ 艺术探索第2章的例
2018-12-09
#Android

Android-线程相关

在Android中进程一般指代App,线程又分为 主线程:进程所拥有的线程,默认情况下一个进程只有一个线程,这个线程就是主线程。Android中对应UI线程 子线程:工作线程,除主线程以外的线程都是工作线程。Android中的子线程的作用是处理耗时任务,比如网络请求,IO操作。 ThreadJava多线程基础 AsyncTask 轻量级的异步任务,可以在线程池中执行后台任务,然后把执
2018-12-21
#Android

Android中so加载流程

在 Android中的Hook-PLTHook 和 Android中的Hook-InlineHook里,Hook 的生效点分别在 GOT 表项和函数入口。要真正理解 Hook 的时机、边界和稳定性,必须先搞清楚 SO 是怎么被系统加载起来的。 SO 加载流程总览一句话先记住:Java 层发起加载 -> ART/NativeLoader 处理 ClassLoader 与 names
2025-10-06
#Android

ANR分析

ANR概述 ANR:Application Not Responding应用程序未响应,Android会要求一些事件需要在规定时间内处理完成,如果超过预定事件内未能得到有效响应或者响应时间过长,就会造成ANR。 ANR由消息处理机制保证,Android在系统层实现了发现ANR的机制,核心原理是消息调度和超时处理。 ANR本质是性能问题。实际上是对应用程序主线程的限制,要求主线程在限定时间内处
2019-01-28
#Android

Android中的Hook-InlineHook

Inline Hook 本文定位:面向 Android 开发者的 Inline Hook 原理入门,重点是理解“为什么要用、怎么工作、如何验证生效”。 在 Android中的Hook-PLTHook 里,PLT Hook 的切入点是“导入方模块的 GOT 表项”。这意味着它拦截的是调用路径,不是函数本体。 与 PLT Hook 的边界差异PLT Hook 生效的前提是:目标调用必须经过动态链接
2025-10-02
#Hook

Android中的Hook

Hook主要使用场景是 绕过系统限制,修改已经实现的代码 动态化,调用隐藏的API 插件化、组件化 主要有如下几种Hook类型,会特别针对几类进行详细分析 Android进程结构 Linux进程 Art/Dalvik虚拟机 (为Java提供运行时环境) Java Framework / Java App ClassLoader 内存管理 Native区
2025-10-02
#Hook

Android性能优化-内存优化详解

内存的概念内存是计算机中最重要的部件之一,是硬盘与CPU之间沟通的桥梁,所有程序都是运行其上,会对程序的性能造成很大的影响。 Why 内存优化?减少Crash 减少因为内存问题引起的Crash,其中最典型的就是OOM 运行流畅 当内存紧张时,就会导致频繁触发GC。当触发GC时,所有线程都要停止,会导致所有运行被搁置,导致运行卡顿。 延长后台运行时间 Android会按照特定的机制进行进程清理,
2020-03-23
#Android

Android中的Hook-PLTHook

基本原理Linux在执行 动态链接的ELF时候,为了优化性能会使用一个 延迟绑定 的策略。 (延迟绑定:为了解决原本静态编译时要把各种系统API的具体实现代码都编译进ELF文件导致文件巨大臃肿的问题。) 当动态链接的ELF程序调用共享库的函数时,会去查找PLT表中的对应项目,PLT表在跳跃到GOT表中找到执行函数的实际地址,后续再调用的时候会直接去执行GOT表中对应的目标函数。(通过 _dl_r
2025-10-02
#Hook
12345…11

搜索

Hexo Fluid