xichao1980

导航

2014年6月19日 #

Android性能优化方法(三)

摘要: 在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的。界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局。通常,在这个页面中会用到很多控件,控件会用到很多的资源。Android系统本身有很多的资源,包括各种各样的字符串、图片、动画、样... 阅读全文

posted @ 2014-06-19 12:17 xichao1980 阅读(219) 评论(0) 推荐(0) 编辑

Android性能优化方法(二)

摘要: 在Android应用里,最耗费内存的就是图片资源。而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常。所以,对于图片的内存优化,是Android应用开发中比较重要的内容。1) 要及时回收Bitmap的内存Bitma... 阅读全文

posted @ 2014-06-19 11:44 xichao1980 阅读(207) 评论(0) 推荐(0) 编辑

Android性能优化方法(一)

摘要: 一:Dalvik虚拟机对于Android平台来说,其托管层使用的Dalvik JavaVM从目前的表现来看还有很多地方可以优化处理,比如我们在开发一些大型游戏或耗资源的应用中可能考虑手动干涉GC处理,使用 dalvik.system.VMRuntime类提供的setTargetHeapUtiliza... 阅读全文

posted @ 2014-06-19 11:37 xichao1980 阅读(246) 评论(0) 推荐(0) 编辑

2014年3月23日 #

Samba安装

摘要: 1.安装: sudoapt-getinstallsamba // (sudo get temp root auth)sudoapt-getinstallsmbfs2.sudocp/etc/samba/smb.conf/etc/samba/smb.conf.bak sudogedit/etc/samba/smb.conf 添加:# added by xichao[xichao]path = /home/xichao/writeable = yesvalid users = xichaopublic = nobrowseable = yes3. 创建smb用户sudosmbpa... 阅读全文

posted @ 2014-03-23 15:54 xichao1980 阅读(282) 评论(0) 推荐(0) 编辑

vimrc

摘要: 在主文件夹里创建 .vimrc文件,以下列内容为母版快速的配置gvim。终端输入:gvim .vimrc或者在个人文件夹下点击 Ctrl+h(显示隐藏文件命令)找到.vimr文件,根据个人喜好定制gvim的配置"File: .gvimrc by Xichao" 不要使用vi的键盘模式,而是vim自己的set nocompatible" 语法高亮set syntax=on"配色方案colorscheme torte" 去掉输入错误的提示声音set noeb" 在处理未保存或只读文件的时候,弹出确认set confirm" 自动 阅读全文

posted @ 2014-03-23 15:50 xichao1980 阅读(390) 评论(0) 推荐(0) 编辑

Manifest启动关系

摘要: 在android的应用程序可以有多个Activity,每个Activity是同级别的,那么在启动程序时,最先启动哪个Activity呢?有些程序可能需要显示在程序列表里,有些不需要。怎么定义呢?android.intent.action.MAIN 决定应用程序最先启动的Activity 。android.intent.category.LAUNCHER决定应用程序是否显示在程序列表里如果有多个 MAIN + LAUNCHER 的Activity,debug时:manifest文件中,哪个在前面先启动哪个activity 阅读全文

posted @ 2014-03-23 14:06 xichao1980 阅读(200) 评论(0) 推荐(0) 编辑

android快速编译的方法

摘要: Android codebase都很大,编译一次都需要花很多时间,如果是preloader/lk/bootimage还好,但是Android的话都是非常久。实际上这个编译时间还是可以进一步缩短!1. 移除modules_to_check(1). Android默认是所有模块都会编译的(不管需不需要),这个有些冗余,可以通过修改编译系统不编译哪些没有用到的模块(2). 修改方法:alps/build/core/main.mkfiles: prebuilt \$(modules_to_install) \$(modules_to_check) \$(INSTALLED_ANDROID_INFO_T 阅读全文

posted @ 2014-03-23 14:05 xichao1980 阅读(569) 评论(0) 推荐(0) 编辑

2014年3月20日 #

ContactsProvider 主要的三个表Contacts,RawContacts,Data

摘要: Contacts表包含了不同的联系人的记录,RawContacts表是联系人的数据集合,指定用户账号和类型,Data表是存储具体的联系人信息,包括邮件、电话号码等。RawContacts官方解释:RowContact存储了用户数据所在服务器的账号和账号类型,由于Contacts Provider允许多个在线服务作为一个联系人的数据源,同时也允许用户使用同一个服务但是不同的账号来存储联系人信息。可以理解成Row Contacts存储的是用户的账户信息,包括账户类型和账户名称等。大部分raw contacts的数据并没有直接存储在RowContacts表中,而是以一行或多行的形式存储在了Data表 阅读全文

posted @ 2014-03-20 12:12 xichao1980 阅读(586) 评论(0) 推荐(0) 编辑

AsyncTask

摘要: AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.准则:task的实例必须在UI thread中创建;execute方法必须在UI thread中调用;不要手动的调用onPreExecute(), onPostExecute(Result),doInBackground(Params...), onProgressUpdate(Progress...)这几个方法;该task只能被执行一次,否则多次调用时将会出现异常;必须重写:doInBa 阅读全文

posted @ 2014-03-20 11:38 xichao1980 阅读(165) 评论(0) 推荐(0) 编辑

2014年3月19日 #

更新UI方法

摘要: 1.Handler见前一篇。2.Activity.runOnUiThread(Runnable)Activity类的方法。如果当前线程为ui线程,则立即执行;否则,将参数中的线程操作放入到ui线程的事件队列中,等待执行。Activity.this. runOnUiThread(new Runnable() { @Override public void run() { // refresh ui 的操作代码 }}); 相对于Handler轻量,方便。3.View.post(Runnable)将操作放入到message队列中,如果放入成功,该操作将会在ui线程中执... 阅读全文

posted @ 2014-03-19 17:45 xichao1980 阅读(235) 评论(0) 推荐(0) 编辑