- 博客(152)
- 资源 (6)
- 收藏
- 关注
原创 Android架构师能力素质模型
1.【应用整体性能分析方法论以及相关经验】APP整体性能如何探测,有哪些方面,什么指标,怎么保证更加流畅2.应用架构层面,大项目,逻辑多,如何应对多App和多终端、3.四大组件的启动流程以及安装包的安装过程,等Android系统中的重要流程4.动态化的方案以及插件5.DEX拆分和加载方案6.热修复原理7.网络如何优化8.IO性能如何保证(数据
2017-04-12 14:26:20
1984
原创 【吐槽】我与Path的恩怨情仇
最近项目中遇到了很多需要用Path切割画布的效果,但是我是怎么切,都是切不出来。但是用Canvas drawPath效果和预想的效果是一致,但是就是执行clipPath,出来的效果完全不是自己想要的效果。今天终于发现了原因。 硬件加速的问题 好多手机上一旦开启硬件加速,还会报以下的问题: java.lang.unsupported o
2014-03-28 16:41:25
2287
原创 Android高性能编程基本规范
最近总结了一些,Android应用开发中,需要注意的一些事项,与大家分享1.尽量少的声明全局变量2.声明全局静态变量,一定要加final声明3.声明非静态的全局变量,最好不要初始化任何值,在使用到的地方,在进行初始化4.函数中若干次使用全局变量,应该将全局变量赋值给本地变量,然后直接使用本地变量5.能用Int,不要使用浮点数
2014-03-24 14:46:46
4038
转载 如何判断自己是否具有成为一名优秀程序员的潜质
很多像这样的日子,当地上积起厚厚的雪时,我通常会燃起铁炉,把马蹄跌烧的通红,搓搓温暖的手,开始打造特制手工马蹄铁。经过了5年多的专职钉马掌生活后,我开始问自己一个问题:我要一直这样干下去吗?能不能干点儿别的?我的性格跟其他乡下那些叼着雪茄、喝着小酒的铁匠不一样,我从来没有戴过牛仔帽或骑过公牛。我渴望的是知道更多的事情,琢磨更多的事情,做更多的事情。成功的从事开发工作7个月后,我已经
2014-03-23 20:57:59
2251
原创 Android高性能编程(2)--延迟初始化
上一篇文章,讲到了很多Android应用开发中需要注意的性能和内存方面的技巧。这一篇文章就是从smali指令级来分析性能优化和内存优化的问题。 如何解决界面启动时间开销大的问题 我们在编写Android应用的时候,很多情况下会遇到界面启动时间过长的问题,用户体验非常的不好。所以我们在编写代码的时候,一定要多加注意如何提高界面的启动时间。下面会讲到
2014-03-23 16:19:40
5319
原创 Android高性能编程(1)--基础篇
关于专题 本专题将深入研究Android的高性能编程方面,其中涉及到的内容会有Android内存优化,算法优化,Android的界面优化,Android指令级优化,以及Android应用内存占用分析,还有一些其他有关高性能编程的知识. 随着技术的发展,智能手机硬件配置越来越高,可是它和现在的 PC 相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户对
2014-03-21 11:15:48
10377
原创 深入研究AsyncTask
AsyncTask提供了方便简单的使用UI线程。AsyncTask提供了一种在后台执行操作而在UI线程显示结果的方式,而且开发者不必操作线程或者handler.一个AsyncTask定义了三种泛型分别是Params,Progress,Result,还有四个函数分别是onPreExecute ,doInBackground onProgressUpdate,onPostExecute.
2013-07-17 15:30:10
1891
原创 Linux内核进程调度
进程可以分为I/O消耗型和处理器消耗型 I/O消耗型的进程大部分时间都用在了提交IO请求或者等待IO请求,这样的进程经常处于可运行状态,但是通常都是运行短短的一会,因为它等待更多的IO请求时最后总是被阻塞.(IO包括键盘活动等,并不仅仅局限于磁盘IO)处理器消耗型:把时间都用在了执行代码上,除非被抢占,否则他们通常都一直不停的运行,从系统得速度考虑,不应该让这样的进程经常运行,调度
2013-06-21 16:35:44
1763
转载 C++字符函数详解
C++字符串函数详解[转]转载自:http://zhanglong2004.spaces.live.com/?owner=1void *memset(void *dest, int c, size_t count); 将dest前面count个字符置为字符c.返回dest的值.void *memmove(void *dest, const void *src
2012-08-16 13:48:37
1473
转载 Smali文件语法参考
http://www.blogjava.net/midea0978/archive/2012/01/04/367847.htmlDalvik opcodesAuthor: Gabor PallerVx values in the table denote a Dalvik register. Depending on the instruction, 16, 256 o
2012-08-08 14:53:32
9957
1
转载 Linux平台Cpu使用率的计算
Linux平台Cpu使用率的计算 proc文件系统 /proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为内核与进程提供通信的接口。用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取/proc目录中的文件时,proc文件系统是动态从系统内核读出所需信息并提交的。
2012-05-09 11:03:19
971
转载 ListView异步加载优化
@Override public View getView(int position, View convertView, ViewGroup parent) { if(convertView == null){ convertView = mInflater.inflate(R.layout.book_item_adapter, null);
2012-03-29 20:18:17
956
转载 Task和Activity相关
Task和Activity相关这段时间在做一个项目,发现对Task和Activity掌握的还是不牢固。把相关知识整理在这里,方便查阅,有几个Flag没看明白啥意思,也没测试出来效果如何。。。 android:allowTaskReparenting 用来标记Activity能否从启动的Task移动到有着affinity的Task(当这个Task进入到前台时)——“tru
2012-03-26 17:04:10
665
转载 Android的自带主题
android 自带的主题theme•android:theme="@android:style/Theme.Dialog" 将一个Activity显示为能话框模式•android:theme="@android:style/Theme.NoTitleBar" 不显示应用程序标题栏•android:theme="@android:style/Theme.NoTitle
2012-03-17 11:49:48
806
转载 情况是这样的,使用NotificationManager触发多个Notification:
private Notification genreNotification(Context context, int icon, String tickerText, String title, String content, Intent intent){ Notification notification = new Notification(icon, tickerTe
2012-03-12 14:32:37
1359
原创 NDK开发Javah生成Jni 头文件
通过Javah命令生成头文件,首先进入bin/class目录下执行 javah -classpath . -jni org.test.demo
2012-03-02 13:37:56
1923
原创 Android中实现native服务利用binder与应用通信
主要讲解一下,Android的上层应用通过binder机制调用native服务,下面这个图,主要用来描述,我们在实现binder相关的bp和bn端的时候,基本的类图。上图基本说明了一下 如何利用binder实现底层的服务,基本实现就是上面这样一个模板,下面我会就我自己实现的一个demo,详细说明一下,如何来写code,之前也是看别人的博客,参考到的例子,但是例子在我这有很多
2012-02-10 16:21:37
5602
2
原创 Android应用打签名
一、生成密钥库将位置定位在jdk的bin文件中,输入以下命名行:keytool -genkey -alias xixuan.keystore -keyalg RSA -validity 20000 -keystore zixuan.keystore(中间不换行),按下“Enter”键,并根据提示填写相关信息,详细信息如下及图1(validity为有效期,这里有效期为20000天):输入
2011-12-28 17:29:12
1086
转载 Android编程一些需要关注的细节
1.键盘事件: 例如登陆对话框,点击登陆后,首先需要,隐藏输入法: /* close soft keyboard */ InputMethodManager imm = (InputMethodManager) mContext .getSystemService(Context.INPUT_METHOD_SE
2011-12-25 21:58:06
1127
转载 获取Android系统当前sdk版本
public static int getAndroidSDKVersion() { int version = 0; try { version = Integer.valueOf(android.os.Build.VERSION.SDK); } catch (NumberFormatException e) {
2011-12-25 19:40:34
10887
转载 MD5算法 判断字符为中文
MD5算法: public static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; public static String getMD5(St
2011-12-25 19:14:44
846
转载 JAVA 上加密算法的实现用例
通常 , 使用的加密算法 比较简便高效 , 密钥简短,加解密速度快,破译极其困难。本文介绍了 MD5/SHA1,DSA,DESede/DES,Diffie-Hellman 的使用。第 1 章基础知识1.1. 单钥密码体制单钥密码体制是一种传统的加密算法,是指信息的发送方和接收方共同使用同一把密钥进行加解密。通常 , 使用的加密算法 比较简便高效 , 密钥
2011-12-25 19:09:09
1224
转载 MD5加密
private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; public static String toHexString(byte[] b) { //Strin
2011-12-25 19:01:09
898
转载 Android获取所在地城市名
public class LocationUtils { //public static String cityName = "深圳"; //城市名 public static String cityName ; //城市名 private static Geocoder geocoder; //此对象能通过经纬度来获取相应的城市等信
2011-12-25 18:30:57
21049
2
翻译 android文件下载!download!
Download.java中放入的是程序的主体,util包中放入的是一些公用的方法,其中FileUtils.java放入的是对文件的一些基本操作,HttpDownloader.java中是对下载的一些基本操作。第一步:先来看看主程序部分package mars.download;import mars.util.HttpDownloader;import android.ap
2011-12-25 18:15:16
1356
梓轩电子书
2012-01-06
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人