随笔分类 -  Android interview

摘要:相关链接: java 进制转换 java 高低位字节,以及转换。 JVM 和Dalvik虚拟机的区别 JVM:.java -> javac -> .class -> jar -> .jar架构: 堆和栈的架构. DVM:.java -> javac -> .class -> dx.bat -> .d 阅读全文
posted @ 2020-08-20 23:04 晕菜一员 阅读(139) 评论(0) 推荐(0)
摘要:线程阀:一种线程与线程之间相互制约和交互的机制。 Queue(队列):用于保存一组元素,存取时,遵循先进先出原则。 队列是一种特殊的线性表,它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作。 进行插入操作的端称为队尾,进行删除操作的端称为队头。队列中没有元素时,称为 阅读全文
posted @ 2020-07-26 13:30 晕菜一员 阅读(176) 评论(0) 推荐(0)
摘要:布局的性能优化之所以重要,因为以下两个方面: 布局的性能优化之所以重要,因为以下两个方面: (1)布局文件是一个xml文件,inflate布局文件其实就是解析xml,根据标签信息创建相应的布局对象并做关联。xml中的标签和属性设置越多,节点树的深度越深,在解析时要执行的判断逻辑、函数的嵌套和递归就越 阅读全文
posted @ 2018-08-07 18:10 晕菜一员 阅读(1237) 评论(0) 推荐(0)
摘要:内存优化: App性能测试和分析工具: 一、Android内存分配回收机制 参考Android 操作系统的内存回收机制,这里简单做下总结: 从宏观角度上来看Android系统可以分为三个层次 Application Framework, Dalvik 虚拟机 Linux内核。 这三个层次都有各自内存 阅读全文
posted @ 2018-07-13 15:38 晕菜一员 阅读(262) 评论(0) 推荐(0)
摘要:假设有一个单例的ListenerManager, 可以add / remove Listener, 有一个Activity, 实现了该listener, 且这个Activity中持有大对象BigObject, BigObject中包含一个大的字符串数组和一个Bitmap List. 代码片段如下: 阅读全文
posted @ 2018-06-14 17:21 晕菜一员 阅读(2190) 评论(0) 推荐(0)
摘要:代码混淆 一般情况下,Android 的 gradle 中都会默认写着: 默认 Proguard 文件:官方自带的混淆规则文件路径:proguard-android.txt。 这个默认文件中帮我们声明了许多混淆规则内容,包括:keep 所有继承自 View 的类,keep 所有继承自 Activit 阅读全文
posted @ 2018-01-25 11:47 晕菜一员 阅读(5306) 评论(0) 推荐(0)
摘要:前言: 当 mvp + dagger2 + rxjava 三者遇上,架构更加清晰,代码更加灵活,巧妙结合。 依赖注入:是为了解耦,达到高内聚低耦合的目的,保证代码的健壮性、灵活性和可维护性。 Computer类持有了对Cpu实例的引用,称之为Computer类对Cpu类有一个依赖。 依赖注入则是指通 阅读全文
posted @ 2017-02-24 17:39 晕菜一员 阅读(1177) 评论(0) 推荐(0)
摘要:出现的原因: Android 5.0 之前版本的 Dalvik 可执行文件分包支持 Android 5.0(API 级别 21)之前的平台版本使用 Dalvik 运行时来执行应用代码。默认情况下,Dalvik 限制应用的每个 APK 只能使用单个 classes.dex 字节码文件。要想绕过这一限制 阅读全文
posted @ 2016-01-08 11:25 晕菜一员 阅读(8286) 评论(0) 推荐(0)
摘要:(1)TCP(Transmission Control Protocol,传输控制协议)是面向连接的协议, 客户端和服务器端请求和应答的标准。 也就是说,在收发数据前,必须和对方建立可靠的连接。 一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,只简单的描述下这三次对话的简单过程 阅读全文
posted @ 2015-12-08 14:32 晕菜一员 阅读(768) 评论(0) 推荐(0)
摘要:GitHut 地址: https://github.com/ReactiveX/RxAndroid build.gradle: (1)RxJava简介: RxJava 是一个在Java虚拟机上实现的响应式扩展库:提供了基于observable序列实现的异步调用及基于事件编程。 RxJava最核心的两 阅读全文
posted @ 2015-12-08 10:44 晕菜一员 阅读(700) 评论(0) 推荐(0)
摘要:参考: Android 框架炼成 教你如何写组件间通信框架EventBus Android EventBus源码解析 带你深入理解EventBus Android EventBus实战 没听过你就out了 快速Android开发系列通信篇之EventBus EventBus是一个publish/su 阅读全文
posted @ 2015-11-27 15:46 晕菜一员 阅读(288) 评论(0) 推荐(0)
摘要:参考: 一款APP从设计稿到切图过程全方位揭秘(ios篇) 一款APP,从设计稿到切图(Android篇) 参考: Android 屏幕适配方案 Android 百分比布局库(percent-support-lib) 解析与扩展 Android 增强版百分比布局库 为了适配而扩展 Android A 阅读全文
posted @ 2015-11-27 14:48 晕菜一员 阅读(376) 评论(0) 推荐(0)
摘要:1. 插件化的原理 是 Java ClassLoader 的原理:Java ClassLoader基础 常用的其他解决方法还包括:Google Multidex,用 H5 代替部分逻辑,删无用代码,买付费版的 Proguard 当插件化作用包括:(1) 模块解耦,(2) 动态升级,(3) 高效并行开 阅读全文
posted @ 2015-11-10 18:07 晕菜一员 阅读(2124) 评论(0) 推荐(0)
摘要:1. Shape 属性: (1) solid ( 填充 ) 参数:android:color ( 填充的颜色 ) (2) gradient ( 渐变 ) 参数:android:startColor ( 开始颜色 ) 、android:endColor ( 结束颜色 )、android:angle ( 阅读全文
posted @ 2015-11-10 15:18 晕菜一员 阅读(272) 评论(0) 推荐(0)
摘要:参考: 各大热补丁方案分析和比较 Android App 线上热修复方案 1. Xposed Github地址:https://github.com/rovo89/Xposed 项目描述:Xposed框架使用起来很确实很好用。可是就是有一个巨大的缺点,就是需要Root权限。 Xposed源码剖析—— 阅读全文
posted @ 2015-11-09 15:36 晕菜一员 阅读(1591) 评论(1) 推荐(0)