Android apk动态加载机制的研究(二):资源加载和activity生命周期管理

为了更好地阅读本文,你需要先阅读Android apk动态加载机制的研究这篇文章,在此文中,博主分析了Android中apk的动态加载机制,并在文章的最后指出需要解决的两个复杂问题:资源的访问和activity生命周期的管理,而本文将会分析这两个复杂问题的解决方法。需要说明的一点是,我们不可能调起任何一个未安装的apk,这在技术上是无法实现的,我们调起的apk必须受某种规范的约束,只有在这种约束下开发的apk,我们才能将其调起。另外,本文给出的解决方案也不是完美的,但是逻辑已经可以正常地跑通了,剩下的极个别...
阅读(51659) 评论(119)

Android apk动态加载机制的研究

问题是这样的:我们知道,apk必须安装才能运行,如果不安装要是也能运行该多好啊,事实上,这不是完全不可能的,尽管它比较难实现。在理论层面上,我们可以通过一个宿主程序来运行一些未安装的apk,当然,实践层面上也能实现,不过这对未安装的apk有要求。我们的想法是这样的,首先要明白apk未安装是不能被直接调起来的,但是我们可以采用一个程序(称之为宿主程序)去动态加载apk文件并将其放在自己的进程中执行,本文要介绍的就是这么一种方法...
阅读(69251) 评论(72)

Android源码分析-全面理解Context

Context在android中的作用不言而喻,当我们访问当前应用的资源,启动一个新的activity的时候都需要提供Context,而这个Context到底是什么呢,这个问题好像很好回答又好像难以说清楚。从字面意思,Context的意思是“上下文”,或者也可以叫做环境、场景等,尽管如此,还是有点抽象。从类的继承来说,Context作为一个抽象的基类,它的实现子类有三种:Application、Activity和Service(姑且这么说,暂时不管ContextWrapper等类),那么这三种有没有区别呢?...
阅读(21312) 评论(17)

Android Binder机制浅析

摘要Binder是android中一个很重要且很复杂的概念,它在系统的整体运作中发挥着极其重要的作用,不过本文并不打算从深层次分析Binder机制,有两点原因:1是目前网上已经有2篇很好的文章了,2是对Binder机制进行深入底层乃至驱动的分析这一过程相当困难且相当耗时,因此并不适合重复造轮子。本文的角度是对Android的Binder机制从整体和概念上进行分析,能够让大家很快明白到底什么是Bin...
阅读(18692) 评论(5)

Android内核解读-应用的安装过程

前言我们知道,在android手机上安装一个apk很简单,只要打开apk文件,默认就会弹出安装界面,然后点击确定,经过若干秒后,apk就安装成功了,可是你知道apk的安装过程是什么吗?你知道android系统在安装一个apk的时候都干了什么吗?在本文中,将一一解答这个问题。简单来说,apk的安装过程分两步:第一步,将apk文件复制到程序目录下(/data/app/);第二步,为应用创建数据目录...
阅读(14038) 评论(13)

Android内核解读-Android系统的开机启动过程

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/19302593前言当长按手机的power键,Android手机就会开机,那么Android系统的开机启动过程到底是怎么样的呢,本文将要介绍这一过程。简单来说,Android系统的开机启动过程大致是这样的:首先linux系统会启动一个叫做zygote(可以称为受精卵、母体)的li...
阅读(14098) 评论(14)

Ubuntu上Lamp的搭建

Step 1: 安装 mysql1 sudo apt-get install mysql-client mysql-serverStep 2: 安装 Apache21 sudo apt-get install apache2Step 3: 安装 PHP 支持1 sudo apt-get install php5 libapache2-mod-php52 #测试是否安装成功3 sudo gedit ...
阅读(4835) 评论(0)

树立个人品牌:让名企hr们主动来找你

前言        作为一名程序员,如何更快地提高自己从而让自己向更高级别飞跃是每个人都要关心的问题。质的飞跃是一个慢慢的过程,哲学上说:大量的量变会带来质变,也就是说,程序员想要当架构师、技术leader乃至CTO,不可避免的一步就是要完成许多量变。如何实现量变?从根本上来说就是提高自己的个人能力,整体上来说就是提高自己的个人能力和树立个人品牌。为什么仅仅从根本上提高个人能力是不够的呢?道理很简...
阅读(22285) 评论(69)

Android中屏幕密度和图片大小的关系分析

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/19139013前言Android中支持许多资源,包括图片(Bitmap),对应于bitmap的文件夹是drawable,除了drawable,还有drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、drawable-...
阅读(11803) 评论(9)

Smali语法介绍

Smali背景:Smali,Baksmali分别是指安卓系统里的Java虚拟机(Dalvik)所使用的一种.dex格式文件的汇编器,反汇编器。其语法是一种宽松式的Jasmin/dedexer语法,而且它实现了.dex格式所有功能(注解,调试信息,线路信息等)。Smali,Baksmali分别是冰岛语中编译器,反编译器的叫法。也许你会问为什么是冰岛语呢,因为Dalvik是一个冰岛渔村名字。Smali...
阅读(11165) 评论(2)

Android逆向工程-破解 哈皮妹-萝莉

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18797493前言新的一年新的开始,除了继续我的原有课题之外,我还打算研究下Android逆向工程的一些东西,主要包括反编译、Smali、APK打包、签名、反逆向和移动安全等。这篇就是新课题的第一篇文章,不过要牺牲下哈皮妹-萝莉这款应用了。通过对哈皮妹-萝莉的破解,让我更加深刻...
阅读(16999) 评论(32)

2014,新的一年我的计划

过几天就要过年了,这里祝大家春节快乐!在外面打拼一年了,赶快回家过年吧,哈哈。 2014对我来说是很重要的一年,是我快速提高自己的一年。工作上,我将会承担越来越重的工作量;分享上,我将持续更新我的CSDN博客,同时在GitHub和StackOverflow上有所活动。 关于CSDN博客,目前我主要关注Android方向,有如下三类文章:Android高手进阶(36) :非深入问题不研究,文章长而深入...
阅读(7966) 评论(20)

Android中将View的内容保存为图像的方法

原理:创建一个新的Bitmap,然后再根据它来创建一个Canvas,最后调用View的draw方法将View画到Canvas上,这样得到的Bitmap就是我们想要的。代码: public Bitmap createViewBitmap(View v) { Bitmap bitmap = Bitmap.createBitmap(v.getWidth(), v.getHeight...
阅读(6834) 评论(5)

Android源码分析-Alarm机制与Binder的交互

前言本次给大家分析的是Android中Alarm的机制以及它和Binder的交互,所用源码为最新的Android4.4。因为Alarm的功能都是通过Binder来完成的,所以,介绍Alarm之前必须要先介绍下它是如何调用Binder来完成定时功能的。由于内容较多,本文会比较长,在文章结构安排上是这样的:首先简单介绍如何使用Alarm并给出其工作原理,接着分析Alarm和Timer以及Handler...
阅读(10302) 评论(14)

给TextView加上多彩效果:改变部分字体的大小和颜色

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18363899前言在实际使用中,有时候会遇到特殊需求,比如pm突发奇想,想把TextView的某几个字变的大一点,再加点颜色,这貌似不好搞,如果是给TextView整体加效果就很好搞了。但是问题总是要解决,下面我给出解决方法,其实方法很简单,问题在于你是否知道有这种方法。方法:...
阅读(25548) 评论(19)

Android源码分析-Activity的启动过程

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/18154335前言Activity是Android中一个很重要的概念,堪称四大组件之首,关于Activity有很多内容,比如生命周期和启动Flags,这二者想要说清楚,恐怕又要写两篇长文,更何况分析它们的源码呢。不过本文的侧重点不是它们,我要介绍的是一个Activity典型的启...
阅读(32901) 评论(42)

如何写一篇好文章?

如何写一篇好文章,对别人有用的文章首先,如果你写文章的目的是为了给自己看,那怎么写都无所谓,如果,你写的文章是给别人看的,那么我的理解是这样的:1.针对简单概念,你要介绍的全面,理论配合demo,能够让一个不懂的人看了之后懂了2.针对有点难度的概念,你要一步一步地详细介绍,让刚入门的小伙伴们能够仿照你的例子做出来3.针对底层的东西,比如源码,你要能把大致流程说清楚,并且能够结合源码分析出上层的东西...
阅读(5045) 评论(13)

Android源码分析—属性动画的工作原理

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17853275 前言 本文为Android动画系列的最后一篇文章,通过对源码的分析,能够让大家更深刻地理解属性动画的工作原理,这有助于我们更好地使用属性动画。但是,由于动画的底层实现已经深入到jni层,并且涉及到显示子系统,因此,深入地分析动画的底层实现不仅比较困难而且意义...
阅读(18680) 评论(27)

Android属性动画深入分析:让你成为动画牛人

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17841165 前言 感谢你阅读本文,我坚信读完本文肯定不会让你失望的。想要做动画牛人?想要精通动画?那么本文所讲的内容都是你必须要掌握的。关于动画,我已经写了两篇博文,但是还是没有将动画描述全面,于是我写了本文,另外,我后面还会再写一篇属性动画的源码分析,通过这四篇博文,...
阅读(38988) 评论(75)

WebView Attack In Android : 解析第三方账号登录平台所存在的安全隐患

转载请注明出处:http://blog.csdn.net/singwhatiwanna/article/details/17663345 前言 这是一个很有趣的话题,WebView在Android中包括IOS中都是一个很重要的控件,有了它,我们可以直接在应用里打开网页而不用跳到浏览器,且网页效果和浏览器几乎一样,这样会增强用户体验,当然也有缺点:占用内存太大,因为WebView加载网页所耗费的...
阅读(9579) 评论(20)
89条 共5页首页 上一页 1 2 3 4 5 ... 下一页 尾页
    我的书
    微信公众号
    公众号
    聚焦于『Android开发前沿、AI技术、职业发展、生活感悟、妹子图』,欢迎大家关注。
    一句话介绍自己
    Android 资深工程师、混过腾讯、百度和滴滴,《Android开发艺术探索》作者
    爱生活,爱技术,爱妹子,爱游戏
    1群:215680213(已满)
    2群:190283084(已满)
    8群:635778578

    我的联系方式
    QQ:289832127
    singwhatiwanna@gmail.com

    个人资料
    • 访问:1789780次
    • 积分:15792
    • 等级:
    • 排名:第721名
    • 原创:87篇
    • 转载:2篇
    • 译文:0篇
    • 评论:2994条
    博客专栏
    我的微博
    最新评论