- 浏览: 638147 次
- 性别:
- 来自: 杭州
最新评论
-
luo_ganlin:
别的不多说,点个赞!
关于Android隐式启动Activity -
IWSo:
谢楼主!研究了好久,原来是这样!
android中如何让LinearLayout实现点击时背景图片切换 -
fantao005x:
粘帖的不错
android中如何让listview的内容全部显示出来 -
learner576539763:
Android_gqs 写道请问博主,Viewstub 可实现 ...
android中ViewStub使用 -
goontosoon:
抄的什么啊,狗屁不通
对ContentProvider中getType(Uri uri)
文章列表
Android开发之性能优化概述
- 博客分类:
- android
程序能否运行的快速而高效,这在资源有限的移动终端设备上尤其显得重要。因为即使目前最强大的移动终端的计算能力也无法和市场上普通的桌面PC相抗衡。简单地说,有两个原则在资源受限的系统中必须遵守:
不做不必要的事情。
不分配不必要的内存。
在Android中,设计人员已经从UI、框架、基础平台等多个层次的多个方面进行了优化。但对于开发者而言,在开发过程中,仍然需要针对消耗资源比较多的设计进行规避或者优化。在接下来的内容中,将会针对Android已经进行的优化做简略的介绍。对开发者在开发过程中需要注意的地方进行一些说明。
一、资源读取
对资源的读取可以分为对资源文件的读取和对挂载的SD卡 ...
activity中的启动模式
- 博客分类:
- android
Activity的加载模式
在上一文中,我们说过,Activity就相当于一块块的七巧板,每个应用用这一个个七巧板组合成了美丽的图画,并用代码验证了每个Activity的生命周期。 那么,每个应用又是如何将各个Activity组合起来的呢?这就是本文要讲的内容。 通常情况下,一个应用有一个Task,这个Task就是为了完成某个工作的一系列Activity的集合。而这些Activity又被组织成了堆栈的形式。 当一个Activity启动时,就会把它压入该Task的堆栈,而当用户在该Activity中按返回键,或者代码中finish掉时,就会将 ...
把service的一些特性总结一下,基本知识就不介绍了.
1、主要在后台运行。
2、分两种类型:
remote和location(远程和本地)
区别:远程的可以用在不同进程间访问,通过aidl实现(aidl以后介绍),当访问的进程结束掉后,还可以在后 ...
Android系统完整的启动过程,从系统层次角度可分为Linux系统层、Android系统服务层、Zygote进程模型三个阶段;从开机到启动Home Launcher完成具体的任务细节可分为七个步骤,下面就从具体的细节来解读Android系统完整的初始化过程。一、启动BootLoader Android 系统是基于Linux操作系统的,所以它最初的启动过程和Linux一样。当设备通电后首先执行BootLoader引导装载器,BootLoader是在操作系统内核运行之前运行的一段小程序。通过这段小程序初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境引导进入合适的状态, ...
应用程序包的安装是android的特点
APK为AndroidPackage的缩写
Android应用安装有如下四种方式:
1.系统应用安装――开机时完成,没有安装界面
2.网络下载应用安装――通过market应用完成,没有安装界面
3.ADB工具安装――没 ...
android中的线程优先级
- 博客分类:
- android
导读:对于Android平台上的线程优先级设置来说可以处理很多并发线程的阻塞问题,比如很多无关紧要的线程会占用大量的CPU时间,Android线程优先级设置方法。
对于Android平台上的线程优先级设置来说可以处理很多并发线程的阻塞问题,比如很多无关紧要的线程会占用大量的CPU时间,虽然通过了 MultiThread来解决慢速I/O但是合理分配优先级对于并发编程来说十分重要.Android在线程方面主要使用的是Java本身的Thread 类,我们可以在Thread或Runnable接口中的run方法首句加入
Process.setThreadPriori ...
AtomicInteger
- 博客分类:
- android
AtomicInteger,一个提供原子操作的Integer的类。在Java语言中,++i和i++操作并不是线程安全的,在使用的时候,不可避免的会用到synchronized关键字。而AtomicInteger则通过一种线程安全的加减操作接口。
来看AtomicInteger提供的接口。
/ ...
1.PackageManagerService.java用到一个很重要的工具类,PackageParser.java。这里面是一些工具类和工具方法,辅助PackageManagerService来完成一些功能,具体代码自己去看一下。下面仔细分析一下PackageManagerService的启动流程。1.PackageManagerService中有一个静态方法:main()。生成一个IPackageManager接口,也就是PackageManagerService。下面我们主要看PackageManagerService的构造方法。public static final IPackageMa ...
data/app里软件权限没全开。system/app里的软件权限全开了。data/app可以应用卸载。system/app只能root后删除。data/app文件夹大小随便。system/app这个文件夹好像有大小限制,不能太大。wipe以后。data/app清空。system/app没事。
SYSTEM\app = WINDOWSDATA\app = Porgarm files
android中如何防止代码被反编译
- 博客分类:
- android
作为Android应用开发者,不得不面对一个尴尬的局面,就是自己辛辛苦苦开发的应用可以被别人很轻易的就反编译出来。
Google似乎也发现了这个问题,从SDK2.3开始我们可以看到在android-sdk-windows\tools\下面多了一个proguard文件夹
proguard是一个java代码混淆的工具,通过proguard,别人即使反编译你的apk包,也只会看到一些让人很难看懂的代码,从而达到保护代码的作用。
下面具体说一说怎么样让SDK2.3下的proguard.cfg文件起作用,先来看看android-sdk-windows\tools\lib\proguard.cfg ...
这篇文章内容大部分来自一年前的一篇调研报告,加上对dalvik虚拟机的一些认识,匆忙整理出来供大家参考。如有不对的地方请不吝指出。
I.什么是Dalvik虚拟机?
II.DalvikVM与JVM有什么区别?
III.DalvikVM有什么新的特点?
IV.DalvikVM的架构是怎么样的?
Android从Linux系统启动有4个步骤;
(1) init进程启动
(2) Native服务启动
(3) System Server,Android服务启动
(4) Home启动
总体启动框架图如:
第一步:initial进程(system/core/init)
init进程,它是一个由内核启动的用户级进程。内核自行启动(已经被载入内存,开始运行,并已初始化所有的设备驱动程序和数据结构等)之后,就通过启动一个用户级程序init的方式,完成引导进程。init始终是第一个进程.
在编写Android应用程序时,我们一般将一些计算型的逻辑放在一个独立的进程来处理,这样主进程仍然可以流畅地响应界面事件,提高用户体验。Android系统为我们提供了一个Service类,我们可以实现一个以Service为基类的服务子 ...
android中实体图片的压缩处理
- 博客分类:
- android
http://www.68design.net/Graphic/Photoshop/44910-1.html
ps压缩方法
http://pnggauntlet.com/ 二次压缩工具
一说到AsyncTask,大家就会说 ,他是系统提供给我的用于执行异步任务的工具类。比Handler好用只需要重写方法,每个Asynchronous对象只能执行1次。但是他必须要放在主线程里创建。为什么呢?这都是为什么呢?我们就来对这些疑 ...