Android编程
文章平均质量分 54
ericzhu1991
重庆大学计算机学院
主攻方向 Android系统架构, 移动虚拟化, Java虚拟机优化, 物联网, 云存储
展开
-
Android回顾(一)
想想感觉挺可惜的,搞Android开发一年多了,还没有对他进行系统的整理。搞得现在对其整体的认识还不是很到位。从今天开始,我将每天更新一篇关于Android学习心得的回顾。当然不是从最基础的开始了,主要是开发过程中遇到的一些问题,自己的一些总结,以及自己对于Android开发的一些感悟!原创 2013-08-09 21:52:26 · 583 阅读 · 0 评论 -
[回顾] 如何在Nexus 5(Android 4.4.4)上开启交换分区swap
1. 编译内核(kernel)开启swap需要内核支持,所以第一步需要得到支持swap特性的内核镜像文件。a. 下载Android系统对应内核源代码;b. make menuconfig -> 开启 Support for paging of anonymous memory (swap)选项c. 编译(需要相应编译环境,具体请参考google 官网)2. 通过aboo原创 2015-10-12 16:35:20 · 2328 阅读 · 0 评论 -
Android系统进程之Activity管理——ActivityManagerService(AMS)
一. 为什么会有AMS对于Android app开发人员来说,Activity是其打交道最多的组件了:App的每一个界面都对应于一个Activity。每个Activity都有他的生命周期(那几个生命周期应该已经烂熟于心了吧),所以我们应该有一种机制来记录并管理这些Activity的状态信息,从而根据这些信息,来对App的内存进行分配回收等管理操作。综上,掌握好AMS的工作原理,可以较好地理解A原创 2016-04-06 11:55:04 · 1709 阅读 · 0 评论 -
Android如何进行进程间通信之——Binder
一. 为什么会有Binder首先我们来看一句话:Binder是Android中使用最广泛的IPC(进程间调用)机制。所以说白了,Binder的存在是为了Android系统中的跨进程函数(包括服务等)调用。这是操作系统的基本功能之一。在Android系统中的具体表现形式就是应用进程与系统服务进程之间的交互,或者是用户进程与用户进程之间的交互,又或者是系统进程与系统进程之间的交互。例如Activi原创 2016-03-22 11:41:13 · 1141 阅读 · 0 评论 -
Android进程/线程管理——深入源码解读+分析
一. 为什么要了解进程/线程二 . 进程三. 线程四. Handler,MessageQueue,Runnable,Looper原创 2016-03-26 17:48:48 · 616 阅读 · 0 评论 -
Android平台cocos2d-x 学习揭幕 (2016-05-11开始啦。。。)
一. 为什么要学习cocos2d-x由于自己对Android系统的酷爱与了解,同时结合自己的一些调研与总结。个人决定要探索一番该平台上还没有涉足过的领域,并在短时间内从入门到精通。(能不能精通就看这两个月了,哈哈哈,加油,不要让自己两个月后(2016-07-11)后悔!)二. 学习目标利用cocos2d-x,在两个月内开发出一款自己的Android游戏。三. 学习原创 2016-05-11 15:55:57 · 450 阅读 · 0 评论 -
Android平台cocos2d-x学习之——平台搭建
一. 系统概览操作系统:Fedora 19开发IDE:Eclipse with ADT二. 搭建过程1. 下载稳定的cocos2d-x代码我下载的是3.11版本。2. 安装依赖库文件由于我的系统不是Ubuntu,所以需要手动地安装依赖库文件。就我的系统而言,需要安装的库文件包括:(具体可以参考build目录下的install-deps-linux.s原创 2016-05-17 23:34:49 · 679 阅读 · 0 评论 -
Android系统实现用户态swap(研究贴)
一. Android下用户态swap的意义二. Android下用户态swap的实现方法1. 首先实现系统调用swap_process(在Andriod的内核层实现系统调用,可以参考我前面的文章。)2. $kernel/mm/swap_state.c定义系统调用函数swap_process,参数为pid(用户层传过来的进程id)/** * swap inactive pa原创 2016-07-18 16:43:59 · 1276 阅读 · 0 评论 -
Java系列——abstract, interface比较分析
1. 在abstract class方式中,Demo可以有自己的数据成员,也可以有非abstarct的成员方法; 而在interface方式的实现中,Demo只能够有静态的不能被修改的数据成员(也就是必须是static final的,不过在interface中一般不定义数据成员),所有的成员方法都是abstract的。从某种意义上说,interface是一种特殊形式的abstract clas原创 2016-09-09 10:42:56 · 546 阅读 · 0 评论 -
新型非易失性存储器作为交换分区的研究(能耗与性能的提升)
一. 动机1. 移动应用功能越来越强大,占用内存越来越大,功耗越来越高。同时由于Android进程管理的特性:将打开的进程缓存在后台,进程的数据包括代码,运行时数据,打开的文件缓存等统统驻留在内存。这就导致随着手机系统的使用,内存会越来越不够用。特别是对内存偏小的手机,内存不够用的情形会出现的更早,更频繁。2. 所以我们可以采用增加交换分区的方式来扩充内存容量。但是传统的交换分区会在某个时原创 2016-08-31 20:05:58 · 1025 阅读 · 0 评论 -
dumpsys meminfo 说明
PSS: PSS differs from RSS in that it reports the proportional size of its shared libraries, i.e. if three processes all use a shared library that has 30 pages, that library will only contribut原创 2015-06-24 10:19:47 · 3095 阅读 · 0 评论 -
如何在Android4.4(内核3.4.0)上使用zram
问题:要使用zram需要内核支持,所以我们需要加入ZRAM的内核编译选项。但是它依赖于ZSMALLOC。在3.4.0内核版本中ZSMALLOC又依赖于x86架构,但是我们的手机又是arm架构。问题就来了!解决方法:很简单,去该手机对应高版本的内核中找到zsmalloc对应的模块替换当前版本中的部分。实验配置:平台:Nexus 5内核版本:3.4.0Andro原创 2015-02-03 11:36:32 · 3756 阅读 · 0 评论 -
追踪Android内核运行时page fault
最近在Android上优化swap.目前是前期调研阶段,今天需要追踪到内核的page fault频率,与大家共享。目前我在fedaro19(64bit)下跑Android模拟器。内核是goldfish,追踪内核page fault用到的工具是perf。其实只需要一行命令:perf stat -p 4743下面是运行的结果:130|root@generic:/sdcard/lm-原创 2013-11-28 16:14:05 · 2043 阅读 · 0 评论 -
Linux 环境下如何使用NDK进行Android开发
下载NDK原创 2014-04-08 11:33:47 · 1241 阅读 · 0 评论 -
Android通过adb命令与Linux系统连接
1.添加配置文件2.启动和关闭adb server3.重新家在原创 2014-05-22 10:34:16 · 1387 阅读 · 0 评论 -
如何在Linux系统下将Android的系统镜像system.img拆包,打包
1. 拆包mkdir syssimg2img system.img sys.rawsudo mount -t ext4 -o loop sys.raw sys/原创 2014-09-09 22:44:16 · 1327 阅读 · 0 评论 -
编程小记(一)—— 小技巧篇
一. 如何高效地做标记原创 2014-08-25 17:13:42 · 1037 阅读 · 0 评论 -
Android jni 编程
javah -classpath ../bin/classes com.package.Class原创 2014-09-11 21:48:48 · 556 阅读 · 0 评论 -
Android 内存分析
详细见链接,分析的比较细节。点击打开链接原创 2014-11-23 19:40:25 · 650 阅读 · 0 评论 -
如何在Android平台上使用IO分析工具(blktrace)
1. In order to use blktrace, the kernel has to be compiled with block tracing supportkernel hacking => tracer => enabling IO tracerCONFIG_BLKDEV_IO_TRACEI also enabled a few other tracing option原创 2014-11-06 22:35:04 · 2214 阅读 · 0 评论 -
智能手机内外存可靠性研究
一. 研究目的Android手机目前还是会存在卡顿现象,该研究的目的是要从内核层的内存管理、外存管理,框架层的虚拟机垃圾回收、显存管理等方面找出卡顿的原因所在。对于内核层的内存管理,又细分为了三个研究方向:内存碎片化带来的影响,low memory killer(lmk)带来的影响以及交换分区带来的影响。对于框架层的垃圾回收,也细分为两个方向:传统Dalvik虚拟机垃圾回收所存在的问题,最新的原创 2016-09-01 17:23:50 · 942 阅读 · 0 评论