随笔分类 - Android
Android开发的相关知识
摘要:协程的优势是什么? 很多人在看这篇文章前就差不多知道了什么是协程,网上也有很多的论调,比如轻量级的线程,减少了上下文切换的开销等等。我们也可以将协程简单的认为,协程就是将阻塞代码运行在另一个线程。 协程的出现对于我们程序员来说有什么好处呢?提升程序性能么?那仅仅是对程序而言。以我个人的角度看来,协程
阅读全文
摘要:一 什么是Android Runtime Android Runtime是Android系统里面的核心模块之一。在编译Android代码后会生成APK文件,如果我们打开APK文件,会发现.dex后缀的文件,这些文件包含了了我们APP运行的所有源码,它们的表现形式为—— 字节码(byte code)。
阅读全文
摘要:一、背景 首先了解多渠道打包工具Walle之前,我们需要先明确一个概念,什么是渠道包。 我们要知道在国内有无数大大小小的APP Store,每一个APP Store就是一个渠道。当我们把APP上传到APP Store上的时候,我们如何知道用户在那个渠道下载我们的APP呢?如果单凭渠道供应商自己给的话
阅读全文
摘要:一、背景: 当我们在源码依赖的时候经常会导致一些问题。 我们的主工程有如下配置,它依赖了一个sample的本地工程 flavorDimensions "demo" productFlavors { flavor1 { dimension 'demo' } flavor2 { dimension 'd
阅读全文
摘要:欧陆战争之前玩的一款游戏。 一、破解准备、 jd-gui、apktool、欧陆战争apk、 二、破解过程、 首先第一步,自然是解压apk,得到App的dex文件,通过dex2jar将dex文件转成jar文件通过jd-gui程序查看Apk的源代码,我们这里可以看到代码是经过混淆的,但是没有经过加固。
阅读全文
摘要:上一篇主要分析了Robust的使用方法,这一篇就来总结一下Robust的源码分析。 我个人倾向于将Robust框架分为两个部分,自动插入代码和动态加载Patch。 一、Robust源码分析 目前我的分析将Robust动态加载分为两个部分,一部分是插桩后的代码逻辑,一部分是拉取Patch的逻辑。 我们
阅读全文
摘要:最近需要在项目中使用热修复框架,在这里以美团的Robust为主写一篇文章总结一下学习的过程。 一直认为要学习一个框架的原理,首先需要让他跑起来,从效果反推回去,这样更容易理解。 一、美团Robust的使用 首先我们在编写代码前需要做如下准备 配置文件读写权限,6.0以上需要手动获取 <uses-pe
阅读全文
摘要:先上效果图 一、View的测量(刻度盘的大小测量) 在现实生活中,我们如果要去画一个图形,那么便要知道它的大小和位置。所以android绘图时需要我们对view进行测量。android为我们提供了onMeasure()方法来帮助我们去测量一个view,我们只需要重写onMeasur()方法,将我们测
阅读全文
摘要:Json数据 [{"code":"110000","sheng":"11","di":"00","xian":"00","name":"北京市","level":1}, {"code":"659004","sheng":"65","di":"90","
阅读全文
摘要:listview算是我们app中较为常用的控件之一了。而如何优化也是一个问题。 listview的优化一般分为两类。 一布局优化。 对布局的优化是大家了解的。 1、复用convertview。android中界面上有多少个条显示,就会调用多少次的getView()方法,每次都会使用View.infl
阅读全文
摘要:一、简介 Android的消息机制主要是指Handler的运行机制,那么什么是Handler的运行机制那?通俗的来讲就是,使用Handler将子线程的Message放入主线程的Messagequeue中,在主线程使用。 二、学习内容 学习Android的消息机制,我们需要先了解如下内容。 消息的表示
阅读全文
摘要:写事件分发源码分析的时候很纠结,网上的许多博文都是先分析的View,后分析ViewGroup。因为我一开始理解的时候是按我的流程图往下走的,感觉方向很对,单是具体分析的时候总是磕磕绊绊的,老要跳到View中去分析,很多方法理解不了,但毕竟流程清楚了许多,算是有得有失吧,不多说,开始分析。 继续根据流
阅读全文
摘要:上节我们大致了解了事件分发机制的内容,大概流程,这一节来分析下事件分发的源代码。 我们先来分析ViewGroup中dispatchTouchEvent()中的源码 public boolean dispatchTouchEvent(MotionEvent ev){ if (actionMasked
阅读全文
摘要:恢复内容开始 一、是什么 我们首先要了解什么是事件分发,通俗的讲就是,当一个触摸事件发生的时候,从一个窗口到一个视图,再到一个视图,直至被消费的过程。 二、做什么 在深入学习android的过程中,我们往往不知道为什么要去学习这些理论,它们枯燥,难懂,甚至在我们处于初级阶段进行开发时完全用不到这些理
阅读全文
摘要:一、Volley特点 通信更快,更简单(数据量不大,但网络通信频繁) Get、Post网络请求及网络图像的高效率异步处理 排序(可以通过网络请求的优先级进行处理) 网络请求的缓存 多级别取消请求 和Activity生命周期的联动 二、为什么使用Volley 高效的Get/Post方式的数据请求交互
阅读全文
摘要:一、引言 我们在多次启动同一个Activity时,系统默认会重复创建多个实例,这样看上去便十分的愚蠢,所以android在设计时提供了启动模式来修改系统的默认行为。目前有四种启动模式:standard、singleTop、singleTask和singleInstance。 二、如何设置启动模式 1
阅读全文

浙公网安备 33010602011771号