随笔分类 - Android
摘要:在使用旧版dex2jar时,可能会出现以下错误:java.lang.RuntimeException: can not merge I and Z 通过日志文件可以知道,这是com.googlecode.dex2jar.ir.TypeClass的merge问题。查看dex2jar源码后,可以确定这是
阅读全文
摘要:当一个项目快速迭代时,难免引进各种依赖,从而导致单个apk超过65k的限制。如何查询apk的方法数也是每个Android Developer必备技能。 我使用的是 dex-method-counts ,这里跟大家分享一下它的使用。 下载&&编译 下载dex-method-counts到本地 git
阅读全文
摘要:一、使用方式: // 下面两个依赖包可选,根据需求二选一即可, compile 'com.ladingwu.library:fresco:0.0.9' compile 'com.ladingwu.library:glide:0.0.9' // 这个是必须的 compile "com.ladingwu
阅读全文
摘要:前几天 Google 官方发布文章解析 compileSdkVersion、minSdkVersion 以及 targetSdkVersion 的含义,以及合理设置各个值的意义,原文 Picking your compileSdkVersion, minSdkVersion, and targetS
阅读全文
摘要:之前本人的AndroidStudio和Eclipse使用的是同一个SDK,然后使用AndroidStudio的 SDK Manager对SDK进行了update,再打开Eclipse就报了“Eclipse Failed to get the required ADT version number f
阅读全文
摘要:动态加载,本质上是通过JVM类加载机制将插件模块加载到宿主apk中,并通过android的相关运行机制,实现插件apk的运行。因此熟悉JVM类加载的机制非常重要。 类加载机制:虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验、转换解析、初始化,最终形成可以被虚拟机直接使用的Java类
阅读全文
摘要:最近在网上看了不少Android内存管理方面的博文,但是文章大多都是就单个方面去介绍内存管理,没有能全局把握,缺乏系统性阐述,而且有些观点有误,仅仅知道这些,还是无法从整体上理解内存管理,对培养系统优化和系统稳定性分析方面的能力是不够的。 我结合自己的一些思考和理解,从宏观层面上,对内存管理做一个全
阅读全文
摘要:1.查看系统给每个进程分配多少堆内存 adb shell getprop | grep dalvik.vm.heapsize 2.如何查看进程的内存信息 adb shell dumpsys meminfo + packagename/pid adb shell procrank | grep pac
阅读全文
摘要:之前在做一个内存优化的时候,使用到了MemoryFile,由此发现了MemoryFile的一些特性以及一个非常trickly的使用方法,因此在这里记录一下 What is it MemoryFile是android在最开始就引入的一套框架,其内部实际上是封装了android特有的内存共享机制Ashm
阅读全文
摘要:关于 Android 平台的进程保活这一块,想必是所有 Android 开发者瞩目的内容之一。你到网上搜 Android 进程保活,可以搜出各种各样神乎其技的做法,绝大多数都是极其不靠谱。前段时间,Github还出现了一个很火的“黑科技”进程保活库,声称可以做到进程永生不死。 怀着学习和膜拜的心情进
阅读全文
摘要:2016年5月19日,谷歌在美国加州的山景城举办了 Google I/O 开发者大会中发布。2016年6月,Android N正式命名为“牛轧糖” 本届I/O开发者大会上,Google重点介绍了Android系统三个维度:分别是性能、安全和生产力。其中性能主要新增了Vulkan API与JIT编译器
阅读全文
摘要:其实一直想写一篇关于Context的博客,去查资料的时候,发现了一篇关于Context不错的文章,于是直接转发了,谢谢原作者整理。 转载出处:http://blog.csdn.net/lmj623565791/article/details/40481055 1、Context概念 其实一直想写一篇
阅读全文
摘要:1. onKeyDown、onKeyUp、dispatchKeyEvent的区别和使用场景 区别: 1.1 onKeyDown、onKeyUp是按键事件的回调接口(冒泡式调用),dispatchKeyEvent是按键分发(隧道式分发) 1.2 onKeyDown接口的回调只有两个地方,一个是当焦点和
阅读全文
摘要:很多人都知道如何去实现一个简单的浮窗,但是却很少有人去深入的研究背后的流程机制,由于项目中浮窗交互比较复杂,遇到了些坑查看了很多资料,故总结浮窗涉及到的知识点: 窗口层级关系(浮窗是如何“浮”的)? 浮窗有哪些限制,如何越过用户授权实现浮窗功能? 窗口与用户输入系统(Activity是如何接收到to
阅读全文
摘要:以前在写项目的时候,没有过多考虑架构模式的问题,因为之前一直做J2EE开发,而J2EE都是采用MVC模式进行开发的,所以在搭建公司项目的时候,也是使用类似MVC的架构(严格来讲,之前的项目还算不上MVC模式,只是简单将网络请求与界面分离,然后通过Handle通知更新界面)。这种写法,在后面随着项目越
阅读全文
摘要:1.打包时,将资源放在asset文件夹内,通过AssetsManager获取指定资源: 目标应用和jar中的assets文件夹会合并,所以可以通过获取该应用的此类文件夹来获取目标资源 2.使用library项目 此类方法不能混淆代码,也就是说发布时需要提供library源项目.在引用此lib的目标项
阅读全文
摘要:-optimizationpasses 5 【代码压缩级别】-dontusemixedcaseclassnames 【混淆时不会产生形形色色的类名 】-dontskipnonpubliclibraryclasses 【指定不去忽略非公共的库类。 】-dontpreverify 【不预校验】 -ver
阅读全文
摘要:转载:http://blog.csdn.net/guolin_blog/article/details/44996879 在Android所有常用的原生控件当中,用法最复杂的应该就是ListView了,它专门用于处理那种内容元素很多,手机屏幕无法展示出所有内容的情况。ListView可以使用列表的形
阅读全文
摘要:step1:调用ViewRootImpl的内部类ImeInputStage的成员函数onProcess来判断输入法是否处于激活状态
阅读全文
摘要:ViewStub是Android布局优化中一个很不错的标签/控件,直接继承自View。虽然Android开发人员基本上都听说过,但是真正用的可能不多。 ViewStub可以理解成一个非常轻量级的View,与其他的控件一样,有着自己的属性及特定的方法。当ViewStub使用在布局文件中时,当程序inf
阅读全文

浙公网安备 33010602011771号