2017年10月30日
摘要: 开发中遇到一个问题,就是当MainActivity采用singleTask启动模式时,在一些手机上会出现,当点击home键退出到后台,再次点击app客户端时,无法还原离开前的界面问题。 解决办法:为MainActivity设置android:alwaysRetainTaskState="true"属 阅读全文
posted @ 2017-10-30 14:20 画家丶 阅读(2505) 评论(0) 推荐(0) 编辑
  2016年5月5日
摘要: 对于安卓的网络开发,我们可能会用到谷歌自家的网络请求框架Volley,下面来看一下Volley是怎样进行网络请求的。所谓知其所然,并知所以然。于是用自己仅有的水平分析一下其源码,不对的地方欢迎提出。 使用Volley框架进行网络开发,一般是三个步骤,首先是初始化一个 RequsetQueue: 第二 阅读全文
posted @ 2016-05-05 14:55 画家丶 阅读(148) 评论(0) 推荐(0) 编辑
  2016年4月6日
摘要: 内核中的bug和用户空间应用程序中bug一样多种多样。它们的产生可以有无数的原因,同时它们的表象也变化多端。从明白无误的错误代码(比如,没有把正确的值存放在恰当的位置)和同步时发生的错误(比如,共享变量锁不当),都是bug的温床。从降低所有东西的运行性能到毁坏数据,都可能是bug发生时的症状。 pr 阅读全文
posted @ 2016-04-06 17:53 画家丶 阅读(214) 评论(0) 推荐(0) 编辑
  2016年4月5日
摘要: 2.6内核增加了统一设备模型新特性,设备模型提供了一个独立的机制专门来表示设备,并描述其在系统中的拓扑结构,从而使得系统具有以下优点: 1.代码重复最小化 2.提供诸如引用计数这样的统一机制 3.可以列举系统中的所有设备,观察它们的状态,并且查看它们连接的总线 4.可以将系统中的全部设备结构以树的形 阅读全文
posted @ 2016-04-05 17:17 画家丶 阅读(572) 评论(0) 推荐(0) 编辑
  2016年4月1日
摘要: Linux内核是模块化组成的,它允许内核在运行时动态的向其中插入或从中删除代码。其中包括相关的子例程、数据、函数入口和函数出口被一并组合在一个单独的二进制镜像中,即可装载内核模块中,或被简称为模块。 构建模块 在2.6内核中,采用了新的"kbulid"构建系统,现在构建模块相比从前更加容易。构建过程 阅读全文
posted @ 2016-04-01 11:47 画家丶 阅读(229) 评论(0) 推荐(0) 编辑
  2016年3月31日
摘要: 页高速缓存是Linux内核实现的一种主要磁盘缓存。它主要用来减少对磁盘的I/O操作。即通过把磁盘中的数据缓存到物理内存汇总,把对磁盘的访问变成对物理内存的访问。 磁盘高速缓存的价值在于两个方面:第一,访问磁盘的速度要远远低于访问内存的速度,因此,从内存访问数据比从磁盘访问速度更快。第二,数据一旦被访 阅读全文
posted @ 2016-03-31 14:21 画家丶 阅读(235) 评论(0) 推荐(0) 编辑
  2016年3月30日
摘要: 操作内存区域 内核时常需要判断进程地址空间中的内存区域是否满足某些条件,比如某个指定地址是否包含在某个内存区域中。为了方便执行这类对内存区域的操作,内核定义了许多的辅助函数。 1. find_vma() 该函数在指定的地址空间中搜索第一个vm_end大于addr的内存区域,即该函数寻找第一个包含ad 阅读全文
posted @ 2016-03-30 16:33 画家丶 阅读(579) 评论(0) 推荐(0) 编辑
摘要: 内核除了管理本身的内存外,还必须管理进程的地址空间——即系统中每个用户空间进程所看到的内存。Linux操作系统采用虚拟内存技术,因此,系统中的所有进程之间以虚拟方式共享内存。即使单独的一个进程,它拥有的地址空间也可以远远大于系统的物理内存。 进程地址空间由每个进程中的线性地址区组成,更重要的特点是内 阅读全文
posted @ 2016-03-30 14:18 画家丶 阅读(207) 评论(0) 推荐(0) 编辑
  2016年3月29日
摘要: Android Studio自带混淆打包功能,通过在build.gradle文件中声明: 设置minifyEnabled属性为true,开启混淆打包功能,在项目的根目录下找到 proguard-rule.pro文件,将自定义的混淆规则写入,完成app打包混淆。 常见的混淆配置: 其中主要语法规则: 阅读全文
posted @ 2016-03-29 17:31 画家丶 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 系统中能够随机(不需要按顺序)访问固定大小数据片(chunk)的设备被称作块设备,这些数据片就称作块。最常见的块设备是硬盘,除此之外,还有软盘驱动器、CD-ROM驱动器和闪存等许多其他块设备。它们都是以安装文件系统的方式使用的——这也是块设备通常的访问方式。 另一种基本的设备类型是字符设备。字符设备 阅读全文
posted @ 2016-03-29 15:56 画家丶 阅读(259) 评论(0) 推荐(0) 编辑