10 JohnnyYin

尚未进行身份认证

暂无相关描述

等级
博文 20
排名 11w+

修改Android Gradle plugin的aapt路径

最近在做一套Andorid插件化方案,在解决资源id冲突的问题时,采用的是修改aapt的方式来做的,修改aapt的方式遇到的最大的问题就是编译插件的时候得替换sdk中的aapt,或者采用自己写的脚本来编译,这样开发过程肯定是很不方便的。因此本文尝试在Gradleplugin上修改aapt路径。

2016-07-26 16:50:02

Android模拟后台进程被杀

Android开发中,有时候我们需要测试下后台进程被杀,然后重新进入App时恢复现场的case。如果采用填充内存的方式,比较麻烦,下面介绍几种快速模拟后台进程被杀的方式:

2016-06-30 10:10:48

解决QQ登录SDK不能网页授权登录的问题

现象QQ登录SDK在用户设备没有安装手机QQ客户端的情况下,默认是会调起网页授权的,但是可能是因为腾讯的某些限制,新申请的app_id都无法使用网页授权,打开后有些是跳转到下载手Q页面,有些是一直显示“正在打开授权登录页…

2016-06-28 11:09:35

ApplicationContext、ActivityContext、ViewContext和ContextImpl(BaseContext)的区别

ContextWrapperContextWrapper是ContextImpl(也就是BaseContext)的包装,所有对ContextWrapper的操作都会用代理到BaseContext上。Application和Activity和Service都继承自ContextWrapperandroid.content.ContextWrapper#getApplicationC

2015-11-21 12:31:53

Android中Touch事件分发过程全解析

分发过程首先事件从native分发,会传递给ViewRootImpl.WindowInputEventReceiver.onInputEvent,然后会经过ViewRootImpl的分发到DecorView,DecorView会根据之前给Window设置的CallBack(具体可以参考Activity的启动过程系列文章),也就是Activity,会调用Activity的dispatchTouc

2015-10-29 12:01:31

1px图片的Crash

问题描述最近在项目中遇到一个奇葩的Crash,在创建bitmap时Crash,log如下:java.lang.IllegalArgumentException:widthandheightmustbe>0

2015-09-30 12:25:44

Selector的一个坑

创建selector时,有个小坑,就是默认没有指明任何状态的item必须写在末尾。因为系统会拿第一个item去匹配当前状态,如果没有指明state的item放在第一个的话,会匹配任何state,会造成与实际期望的效果不符合的情况。参考:http://developer.android.com/intl/zh-cn/guide/topics/resources/drawable-resource.

2015-08-09 14:52:28

Java中隐藏的this变量和局部变量可能引发的内存泄露问题

背景众所周知,在Java中,成员方法内可以使用this来引用当前对象,使用起来特别方便。但是在JVM中方法是在方法区中,所有的类的对象都共用了一个方法区,那么JVM是怎么知道this是指向哪个对象的呢?其实为了实现这一功能,Java的处理方式很简单,在编译时,为每个成员方法都默默的添加了一个参数this,当调用这个方法时,把当前对象以参数的形式传进去即可。

2015-07-13 12:40:13

Apk安装过程分析

Apk安装过程分析

2015-07-11 22:18:14

解决Android5.0 ListView快速滚动后,接近顶部时滚动方向反向的bug

issue描述:https://code.google.com/p/android/issues/detail?id=159739原因:ListView内部的一个bug,在接近顶部时,mFirstPosition提前变为0,导致其他根据mFirstPosition来判断的逻辑错误,从而引发滚动事件异常。

2015-07-06 20:13:33

内部类对宿主类private成员的访问

摘自http://developer.android.com/intl/zh-cn/training/articles/perf-tips.html#PackageInner

2015-07-05 18:59:17

Ubuntu15.04下编译Android5.1源码

编译环境ubuntu:ubuntu-15.04-desktop-amd64android:android-5.1.0_r3硬盘空间100G,最好预留比较多的硬盘空间,就算不设置ccache,编译完后都差不多占用了47G。

2015-05-30 22:21:52

Windows、Ubuntu双系统下,给Ubuntu增加磁盘空间

因为本人安装的是Windows,Ubuntu双系统,所以当时给Ubuntu分配的空间比较小,现在想在Ubuntu下编译AndroidRom,但是AOSP代码就是几十G,空间严重不够,因此,准备给Ubuntu增加磁盘空间。

2015-05-30 16:43:05

Mac下安装OpenGrok

OpenGrok一个快速、便于使用的源代码搜索与对照引擎。它帮助你搜索,对照,定位你的源代码树。它能够明白各种程序文件格式和版本控制历史记录如SCCS,RCS,CVS与Subversion。OpenGrok是OpenSolaris操作系统源文件浏览和搜索的工具。

2015-05-28 14:27:05

Fragment实例化,Fragment生命周期源码分析

结论:1、Fragment必须有空构造,否则无法被实例化。2、Fragment生命周期:Activity.onCreate->Fragment.onAttach->Fragment.onCreate->Fragment.onCreateView->Fragment.onViewCreated->Activity.onStart->Fragment.onActivityCrea

2015-05-19 21:01:44

Android Studio中忽略目录不显示在Project文件列表中

在AndroidStudio中,有时一个Projcet下Module比较多,可能有些不需要显示,这时需要隐藏掉一些Module不显示,但是Studio默认没有提供可视化的操作,但是可以通过修改iml文件来做到:

2015-05-19 11:39:56

Android UI控件大全

关注这个github即可,各种UI控件库https://github.com/wasabeef/awesome-android-ui

2015-05-13 19:12:46

Java中内部类的内存泄露问题

packagecom.example.temptemp;importandroid.app.Activity;importandroid.os.Bundle;importandroid.util.Log;importandroid.widget.TextView;publicclassSecondActivityextendsActivity{byte[

2015-05-10 15:29:46

Android动画执行过程源码分析

1、View.startAnimationpublicvoidstartAnimation(Animationanimation){animation.setStartTime(Animation.START_ON_FIRST_FRAME);setAnimation(animation);invalidateParentCa

2015-05-09 20:56:37

Android中使用IconFont代替icon,减小app体积

现在网页中使用IconFont已经开始流行,比如新版的淘宝首页,以及36kr等。使用IconFont的好处是可以大量节省资源,同时可以无损缩放,web中减少图片请求。缺点是由于和文字一样,只支持纯色或渐变色,所以颜色上比较单一。其实在App开发中同样可以使用IconFont,尤其Win8推出后开始刮起的“扁平风”,对于一些icon,完全可以使用纯色的IconFont代替。什么是IconFo

2013-10-15 16:59:16
奖章
  • Github
    Github
    绑定github第三方账户获取
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!