
android
文章平均质量分 92
ASingleAndroid
这个作者很懒,什么都没留下…
展开
-
android开发知识点汇总
六大原则设计模式创建型模式(5种)结构型模式(8种)行为型模式(12种)数据结构算法排序算法查找算法。转载 2022-08-31 10:59:17 · 1441 阅读 · 2 评论 -
增量更新BSDiff算法溯源和原理解析
背景差异化更新可分为两种,一种是基于源文件的差异化更新,该种方式成功率高, 算法简单,常用于平台相关的差异更新,但在移动端保存巨大的源文件、下载更新文件整合后再编译的方式显然是不现实的; 另一种即为现在广泛使用的方法即对可执行文件的二进制更新方式,BSDiff就是后者。作者BSDiff是一种可执行文件的二进制差异构建和应用修补工具。据资料记录,作者为Colin Percival,早在2003年就已经写好了这个工具。官网是http://www.daemonology.net/bsdiff/,不过看原创 2021-06-10 10:11:56 · 5713 阅读 · 0 评论 -
Android热修复实战
一、背景调研了一下目前主流的热修复架构主要是两种,底层替换方案 底层替换方案限制颇多,但时效性最好,加载轻快,立即见效 阿里系的AndFix、Sophix 类加载方案 类加载方案时效性差,需要重新冷启动才能见效,但修复范围广,限制少 QZone超级补丁、微信Tinker其一是类和资源整体替换方案,QZone超级补丁、微信Tinker就是这种。利用DexClassLoader在应用启动阶段替换需要替换的Class文件、资源达到修复的目的优点:方便,直接替换简单干脆,开发新的替换补丁P.原创 2021-06-08 18:53:49 · 324 阅读 · 4 评论 -
Android增量更新方案
背景 咱们的App由于业务原因安装包尺寸日益加大,目前掌上炫舞已经170M、梦工厂也已经120M+,用户下载成本加大。什么是增量更新? 增量更新的关键在于增量一词。平时我们的开发过程,往往都是今天在昨天的基础上修改一些代码,app的更新也是类似的,往往都是在旧版本的app上进行修改。这样看来,增量更新就是原有app的基础上只更新发生变化的地方,其余保持原样。与之前每次更新都要下载完整apk包的做法相比,这样做的好处显而易见,每次变化的地方总是比较少的,因此更新包的体积就会小很多。...原创 2021-06-04 15:17:44 · 2659 阅读 · 1 评论 -
Android Gradle插件开发基础实例
首先新建一个自己作为Demo的工程原创 2021-06-02 16:23:46 · 421 阅读 · 1 评论 -
Android进阶-Android与JavaScript方法相互调用!
在Android中通过WebView控件,可以实现要加载的页面与Android方法相互调用,我们要实现WebView中的addJavascriptInterface方法,这样html才能调用android方法,在这里我个人觉得有点和DWR相似。为了让大家容易理解,我写了一个简单的Demo,具体步骤如下:第一步:新建一个Android工程,命名为WebViewDemo(这里我在assets里定义了一...转载 2018-06-25 18:09:10 · 186 阅读 · 0 评论 -
Android进阶-列出Android设备中所有启动的服务,及判断某个服务是否开启!
大家好,好久不见,今天在开发中遇到的一个问题给大家分享一下,我先前做了一个音乐播放器,因为播放音乐一般都是用服务来处理的。当用户点击播放按钮时,音乐在服务中播放,然后用用户退出程序(服务进程还在,音乐还继续),所以妥用户点再次进入应用时,我们播放器要处于播放状态,这里我作了简单的处理,判断这个音乐服务是否开启来完成的。今天给大家的小例子是列出Android设备中所有启动的服务,及判断某个服务是否开...转载 2018-06-25 18:06:54 · 1231 阅读 · 0 评论 -
15道简单算法题
转载自http://www.cnblogs.com/hlxs/archive/2014/06/06/3772333.html最近在公司里基本处于打酱油的状态,工作正在交接中。没事又做起了算法题目。好久没怎么写算法题了,感觉手气还不错,经常能一次就写对(编译通过,得到想要的结果,没怎么测试),可能是因为这些题目之前看过或是写过,或许就是自己进步了一点。这15道大部分来自《剑指Offer》,作者的博客...转载 2018-06-25 18:05:53 · 5860 阅读 · 0 评论 -
Android OpenGL学习-三角形的绘制
前面讲了一些Android OpenGl 的概念问题,这一节讲给大家讲一下如何画一个三角现出来. 一、新建一个Android工程命名为:OpenGL_Lesson2. 二、修改OpenGL_Lesson2.java代码如下: [java] view plain copypackage com.android.tutor; import android.app.Activity; import ...转载 2018-06-25 18:02:54 · 202 阅读 · 0 评论