自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(24)
  • 收藏
  • 关注

原创 Android View 内存性能分析学习 <2>

前面看了一下如何看了延时方面的分析步骤,这里在给出查看内存占用方面的,分析工具用eclipse的allocation Tracker工具.下面盘是我做的一个测试程序:http://pan.baidu.com/s/1gdSIi6f主要用一个View来测试:DurianView.java:/** * @Title: DurianView.java * @Package co

2015-12-30 10:38:46 344

原创 Android 自定义View 性能分析学习 <1>

学习网上面以为厉害的博主的文章,自己跟着学习的节奏,也一步一步的进行学着分析,加深印象,更重要的是自己能够熟悉里面的细节部分,细节决定一些性能.首先写了一个测试demo程序如下:  新建Android工程,工程树如下: : 程序如下:DurianMainActivity.javapackage com.durian.durianperformanceview;impor

2015-12-29 14:00:36 687 1

原创 Android Jni层调用应用层(Java)的方法

android的应用层java能够调用jni层的函数,那么jni层也做了能够调用应用层java的方法,其实这个东西还真的涉及程序的编译原理方面的,不过这个直接说就是利用了反射,之前见过最多的是java反射java类中的方法,我的博客中还专门写了一份手稿介绍java反射的使用,jni层调用应用层的java,通过是动用了反射的原理,反射出来给jni层使用,所以可想而知,反射的能量是巨大的.下面给出

2015-12-28 12:16:07 603

原创 Android Jni中JNI_OnLoad的地位和使用

在jni中,或者android系统源代码中,最常用到的是通过JNI_OnLoad(...)方法,对方法进行注册,而不会像前面的测试demo,生成.h头文件,然后写一个.c的去实现.h中的方法,JNI_OnLoad的引入更加注重c++的使用,至少偏向c++,android系统源代码也是如此,到了下面往往是c++做了一个过渡,但是再进一步深入,最终还是c实现的,比如网络协议等,这一点可以看出实际上用到

2015-12-28 10:25:33 6476

原创 Android NDK中数据类型传递使用

根据上一篇对应的数据类型关系,从这一篇开始一种一种的对应进行测试.工程的话还是用第一篇中的那个工程: : 先介绍整型 :在工程lib包下新建DurianJniInteger.java的类型,添加内容如下:/** * @Title: DurianJniInteger.java* @Package com.durian.jnienv.lib* @Description: TODO

2015-12-24 17:43:27 824

原创 Android java数据类型和jni数据类型对应关系

由于android app主要是以java为主的,然后java的数据类型和jni里面的c/c++的数据类型有有一定差异的,这种差异主要区别在于一个数据类型暂用的位宽可能不一样,但是还好的是,对应关系还是基本上能够吻合的,比如参考下面的表单:java和c/c++ 数组对应,以及数组操作函数:JNI通过JNIEnv提供的操作Java数组的功能。它提供了两个函数:一个是操作java的简单型数

2015-12-24 17:32:13 1427

原创 Android NDK Log信息打印

对于一个程序来说,什么都可以不开始,但是调试信息首先要出来,优先解决log信息.所以在第一篇的基础上面加上在jni中添加log信息,具体操作如下: : 修改Android.mk文件,在其中添加Android的Library库进来:LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOCAL_MODULE :=durianjniL

2015-12-24 16:02:46 511

原创 Android NDK环境测试

Android NDK开发的环境很多,windows,mac,还是Ubuntu,设置cygwin,个人更中意mac和Ubuntu,cygwin用着不习惯,感觉在windows上面装一个cygwin像一个累赘一样.首先很多不大工程的so开发基本上都会直接涉及到javah这个命令行的使用,这个可以在cmd.exe中输入javah -help查看一下命令有哪些调用方式.这里不具体介绍,只在下面的工程

2015-12-24 12:12:30 1581

原创 Android View Scroller类,scrollTo(...)和scrollBy(...)方法

由于一部分网友有点分不清scrollBy和scrollTo这个两区别,其实我觉得很简单,下面给出一个基本示意图:scrollTo(intabsoluteX,int absoluteY)执行N次 :从上面可知,上面的始终是相对第一次的位置坐标移动scrollTo(intdeltaX,int deltaY)执行第一次

2015-12-23 15:13:03 392

原创 Android View touch事件传递方式规律

上一篇给出了测试工程程序,下面要给每一层的Button添加click事件处理.这里需要以DurianSubFrameLayout这一层进行,因为这一层刚好是一个中间层,可谓"上有老下有小"DurianSubFrameLayout.java的代码调整一下:/** * @Title: DurianSubFrameLayout.java * @Package com.du

2015-12-23 10:24:12 569

原创 Android View嵌套和事件传递手稿

只所以写这样一个专题手稿,是平时在群里很多群友经常问到当动态添加View,形成嵌套View,视觉效果做出来了,但是事件如何传递了呢,特别是View有层叠的效果,那么事件又如何传递和处理,以及View如何在视窗中如何移动处理.所以大致写一个专题手稿大致介绍一下,还望不足之处希望不吝指正和批评,非常感谢.首先的思路如下:我先做一个实现如上图所示的View嵌套层级的一个andro

2015-12-22 16:36:51 984

原创 Android 反射实战 - 更换APP皮肤<3>

前面的两节写了一下,好像和真正更新皮肤没什么特别关系,这篇提供一个demo供阅读者了解一下,根据我提供的链接,下载我的demo.操作步骤如下: : eclipse中,先导入OneplusFactoryApp工程,如下: : 再导入OneplusSkin这个工程,如下:这个工程只是在values文件夹下把替换对应的资源更新到values各个文件里面,比如如果更新文字内容,

2015-12-10 15:57:05 330

原创 Android 反射实战 - 更换APP皮肤<2>

前面通过实现Factory来获取所有的UI和属性等.将前面那个工程进行调整,参考其他网络上面的一些信息,调整和更新ActionBar右上角的menu字体颜色和背景,通过这个小例子,从某种程度可以反映更换APP皮肤基本的思路.package com.oneplus.factoryimplapp;import android.app.Activity;import android.c

2015-12-09 17:11:02 395

原创 Android 反射实战 - 更换APP皮肤<1>

Android 动态更换APP皮肤,个人感觉更多的是开发者对View理解能力,以及Activity等这种容器是如何加载各种视图view的过程,这个view包括系统UI,自定UI等view.这个地方首先就需要先熟悉Factory这个接口,看一看下面做一个测试工程: : 新建一个Android 工程项目,目录树如下: : OneplusFactoryImpl.java 类程序如下:/*

2015-12-08 22:27:38 535

原创 Android 反射实战

前面做了很多个demo去学习如何反射字段,方法,代理之类的等等,有一些给了实际的应用,有一些没有,看起来似乎没有什么实际价值,所以现在给出一个实战,开发条件需要的是一个jar包,这里以com.qti.snapdragon.sdk.display.jar的jar为例.调试设备以Oneplus二代旗舰机为例,jar放在Oneplus二代手机的/system/framework/目录下,普通读者可以放到

2015-12-08 22:12:29 1734

原创 Android 通过反射综合应用-获取插件Plugin资源

通过前面的基础内容,做一个Android 资源更新的插件应该没有问题,读者只要将插件的apk当做资源包就可以了,需要更新的资源全部打包到插件包中.在正式开篇之前,可能很多人在网上查找,主Host APK和plugin之间还需要设置相同的sharedUserId,但是我下面没有做这个要求,因为设置了sharedUserId即代表主Host APK和plugin在同一个进程,这样可以”辨识对方

2015-12-08 20:27:05 955

原创 Android Java 动态代理应用

我当时勉强搞定其他那些反射方法,变量等等的时候,还不知道java动态代理是个什么东西,闻所未闻,只是实际工作中,遇见一个类似下面的东东,给难倒了:onClickListener listener=new onClickListener(){ @Override public void onClick() { // TODO Auto-generated method st

2015-12-08 20:09:50 447

原创 Android 反射枚举Enum类型应用

网上关于反射枚举的案例似乎不多,也许是因为枚举在java里面枚举类型其实算个准类了,java编译的时候同样会生成一个enumname.Class文件,同时Enum是可以被子类直接继承的,所以有时候在反编译的时候反过跟头,掉过阴沟,真的坐船翻船,坐车爆胎,走路都要被石头绊倒的郁闷.同样也是证明不懂java基本知识,后果很严重!!!今天还是靠公司同事提醒了一下,发现枚举类型具有类的一些特性,虽然后

2015-12-08 19:59:10 1135

原创 Android 反射接口Interface应用

一般直接使用反射接口的并不多,一般用于辅助反射其他的,或者后面所说的代理.所以下面简单说一下,废话不多说,步骤如下: : 新建一个Java工程,工程树如下: : 接口类IOneplusInterface.java如下:/** * */package com.oneplus.interfaces;/** * @author zhibao.liu *

2015-12-08 19:53:43 1977

原创 Android 反射Construct应用

写Method方法后,再来搞定反射构造方法,当然可能要被很多正规出书的人嗤之以鼻,但是这一切都不重要,重要的是,对于一个初学者,以本人自己学习的过程,颠倒的来写,会让人更容易接受一些. 同样的,给出Constructor类的几个API :newInstance(Object... initargs)              throws Insta

2015-12-08 19:48:35 520

原创 Android 反射Method应用

本人喜欢把复杂的事情简单化,简单的事情复杂化---以前读书的时候,语文老师经常再三强调,写作文的时候不要把题目写”太大”了;只要写一件小事,写的越详细越动人就达到了目的!---zhibao.liu 本来想先介绍反射构造函数,代码写了一部分,发现先介绍反射构造函数不是太”灵活”,所以,就先介绍方法,感觉先介绍了方法,在讲构造函数时,往构造函数中传递参数,然后通过方法在体现出来,效果会更加

2015-12-08 19:38:37 2467

原创 Android 反射Field应用

面的几节涉及反射的一些基本概念,下面介绍在以后开发是经常需要的用到的一些反射技术使用.由于在前面没有特别指出来,如何反射一个类,并且得到一个类的实例,所以在这里,首先列出一个我们经常在网上面见到的方式:public static void getReflectionFields(ReflectionTest r) { Class temp = r.getClass();

2015-12-08 19:25:32 1057

原创 Android ClassLoder 基础应用

预备知识: : adb push的使用; : eclipse 导出jar包的过程 : dx命令行的使用;首先介绍ClassLoader类关系,它本身也是继承Object,然而实际开发中用的比较多的是他的子类,继承关系如下:ClassLoaderextends Objectjava.lang.Object   ↳

2015-12-08 18:14:25 492

原创 Android 反射技术应用手稿

反射其实也不是什么新的技术,有时候也不多常见,但是我发现,当一个开发常见反射技术的时候,他已经不在是一个普通的开发者了,曾经听一位百度的朋友说过一句话:只要精通反射技术,Android系统没有你改不了的东西,没有你动不了的东西,似乎有点夸张,不过当我在工作中使用时,发现它的重要性的时候,我比较惊讶的发现还有这么一个技术,居然是可以达到四两拨千斤.当然最开始是自己在研究APP模块化开发(俗称:插

2015-12-08 18:08:05 515 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除