随笔分类 - android
android
    
摘要:1. 什么是依赖注入? 在软件设计中,我们会根据不同的职责将代码划分为不同的类。而不同类之间又会相互组合,形成依赖关系。例如在 Android 应用的登录流程时,LoginActivity 依赖于 LoginViewModel,而又依赖于 UserRepository。 —— 引用自 develop
        阅读全文
                
摘要:kapt 即 Kotlin annotation processing tool(Kotlin 注解处理工具)缩写。 在 Kotlin 中通过 kapt 编译器插件支持注解处理器(参见JSR 269)。 简而言之,你可以在 Kotlin 项目中使用像 Dagger 或者 Data Binding 这
        阅读全文
                
摘要:android开发中肯定用到过Fragment 1 fragmentManager = getSupportFragmentManager(); 2 3 lifeFragment1 = new FragmentLife(); 4 Bundle bundle = new Bundle(); 5 bun
        阅读全文
                
摘要:Observable 在RxJava1.x中,最熟悉的莫过于Observable这个类了,笔者刚使用RxJava2.x时,创建一个Observable后,顿时是懵逼的。因为我们熟悉的Subscriber居然没影了,取而代之的是ObservableEmitter,俗称发射器。此外,由于没有了Subsc
        阅读全文
                
摘要:一. Rxjava是什么 Rxjava在GitHub的介绍是 "A library for composing asynchronous and event-based programs using observable sequences for the Java VM"(一个在 JVM上使用可观
        阅读全文
                
摘要:读者好,前面我们在 《Android 架构之网络连接与加速》 和《Android 架构之长连接技术》两篇文章中,讲解了 Http 短连接、TCP 长连接、连接复用与速度优化、数据压缩 等方面的知识点。不过,真实的网络环境是很复杂的,存在各种各样的因素会导致网络服务不可用,比如 DNS 劫持、服务器宕
        阅读全文
                
摘要:对于热修复无非就是两大类,一类是tencent代表的classloader模式的,另一类是阿里系代表的底层方面替换。 下面以本人的经验介绍下微信的tinker接入: 命令行接入方式; gradle接入方式 1. 核心库引入,在你应用的app模块下build.gradle文件加入 4. proguar
        阅读全文
                
摘要:在Android项目开发中,项目代码量过大或通过引入很多jar导致代码量急剧增加,会出现错误: 错误出现的原因是 Android设定的方法数是65536个(DEX 64K problem),超过这个方法数,导致dex无法生成,就无法生成APK. 限制原因: 早期的Dalvik VM内部使用short
        阅读全文
                
摘要:android实现阴影的方式有很多, 1. Android 在 API21(5.0)添加了 elevation,可以很方便的在 View 上实现阴影。但是这个只在 >= API21 的手机上可以看到阴影效果,低于这个版本的就没有阴影效果。 2. CardView 也可以实现阴影效果,项目中一般都是使
        阅读全文
                
摘要:AOT,JIT是什么? JIT,即Just-in-time,动态(即时)编译,边运行边编译; AOT,Ahead Of Time,指运行前编译,是两种程序的编译方式 区别 这两种编译方式的主要区别在于是否在“运行时”进行编译 优劣JIT优点: 可以根据当前硬件情况实时编译生成最优机器指令(ps. A
        阅读全文
                
摘要:简介 Nuwa是比较流行的一种Android热补丁方案的开源实现,它的特点是成功率高,实现简单。当然,热补丁的方案目前已经有很多了,AndFix, Dexposed, Tinker等,之所以要分析Nuwa,是因为它代表了一种热修复的思想,通过它可以窥探到很多这方面的知识,包括更进一步的插件化。 Nu
        阅读全文
                
摘要:APT(Annotation Processing Tool)是java的注解处理技术,它对源代码文件进行检测找出其中的Annotation,根据注解和注解处理器和相应的apt自动生成代码。 Annotation处理器在处理Annotation时可以根据源文件中的Annotation生成额外的源文件
        阅读全文
                
摘要:一. LruCache基本原理 LRU全称为Least Recently Used,即最近最少使用。由于缓存容量是有限的,当有新的数据需要加入缓存,但缓存的空闲空间不足的时候,如何移除原有的部分数据从而释放空间用来存放新的数据。 LRU算法就是当缓存空间满了的时候,将最近最少使用的数据从缓存空间中删
        阅读全文
                
摘要:阿里巴巴对Android热修复技术已经进行了长达多年的探索。 最开始,是手淘基于Xposed进行了改进,产生了针对Android Dalvik虚拟机运行时的Java Method Hook技术,Dexposed。但这个方案由于对底层Dalvik结构过于依赖,最终无法继续兼容Android5.0以后A
        阅读全文
                
摘要:Android:Broadcast广播类型主要分为5类: 普通广播(Normal Broadcast) 系统广播(System Broadcast) 有序广播(Ordered Broadcast) 粘性广播(Sticky Broadcast) 应用内广播(Local Broadcast)具体说明如下
        阅读全文
                
摘要:DDMS中自带的Heap工具可以显示出当前堆内存的情况,分配内存、剩余的内存等信息。 首先是进入DDMS,运行应用,在DDMS的左边区域选中应用的包名,然后点击上方的update heap图标。 点击后控制台就会被触发了,但现在控制台可能没有下面的信息,因为只有在GC后控制台才会真正触发。所以可以点
        阅读全文
                
摘要:Android上的热修复框架 AndFix 大家都很熟悉了,它的原理实际上很简单: 方法替换——Java层的每一个方法在虚拟机实现里面都对应着一个ArtMethod的结构体,只要把原方法的结构体内容替换成新的结构体的内容,在调用原方法的时候,真正执行的指令会是新方法的指令;这样就能实现热修复,详细代
        阅读全文
                
摘要:一、前言 最近腾讯弄出一个Tinker热修复框架,那么本文先不介绍这个框架,先来介绍一下阿里的一个热修复框架AndFix,这个框架出来已经很长时间了,但是看网上没有太多非常详细的讲解,这里就来做一次分析。正好项目中要使用到。首先这个框架是开源的:https://github.com/alibaba/
        阅读全文
                
摘要:转自:https://mp.weixin.qq.com/s?__biz=MzI1MTA1MzM2Nw==&mid=400118620&idx=1&sn=b4fdd5055731290eef12ad0d17f39d4a; https://www.cnblogs.com/purpleraintear/p
        阅读全文
                
摘要:AndFix,全称是Android hot-fix。是阿里开源的一个Android热补丁框架,允许APP在不重新发版本的情况下修复线上的bug。支持Android 2.3 到 6.0。 andfix的github地址: https://github.com/alibaba/AndFix AndFix
        阅读全文
                
 
                    
                
 浙公网安备 33010602011771号
浙公网安备 33010602011771号