上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 24 下一页
摘要: JNIEnv *evn:所有的JNI调用都使用了JNIEnv*类型的指针,习惯上在CPP文件中将这个变量定义为evn,它是任意一个本地方法的第一个参数。env指针指向一个函数指针表,在VC中可以直接用"->"操作符访问其中的函数jobject obj:jobject 指向在此 Java 代码中实例化的 Java 对象 LocalFunction的一个句柄,相当于this指针。后续的参数就是本地调用中有Java程序传进的参数,本例中只有一个String型参数。对于字符串型参数,因为在本地代码中不能直接读取Java字符串,而必须将其转换为C/C++字符串或Unicode。 阅读全文
posted @ 2012-06-28 15:19 Qiengo 阅读(423) 评论(0) 推荐(0) 编辑
摘要: android建议用户通过java实现上层的应用以实现与硬件无关,所以并不希望去开发native c的东西。不过,对于需要复杂运算的软件,比如图像处理、视频解码、游戏模拟器等也只能通过上面的方法实现。 Android NDK (Native Development Kit)JNI,全称Java Native Interface,是用于让运行在JVM中的Java代码和运行在JVM外的Native代码(主要是C或者C++)沟通的桥梁。代码编写者即可以使用JNI从Java的程序中调用Native代码,又可以从Native程序中调用Java代码。这样,编程人员可以将低阶的代码逻辑包装到高阶的程序... 阅读全文
posted @ 2012-06-26 11:39 Qiengo 阅读(389) 评论(0) 推荐(0) 编辑
摘要: JNI是Java Native Interface的 缩写。从Java 1.1开始,Java Native Interface (JNI)标准成为java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI一开始是为了本地已编译语言,尤其是C和C++而设计 的,但是它并不妨碍你使用其他语言,只要调用约定受支持就可以了。 使用java与本地已编译的代码交互,通常会丧失平台可移植性。但是,有些情况下这样做是可以接受的,甚至是必须的,比如,使用一些旧的库,与硬件、操作系统进行交互,或者为了提高程序的性能。JNI标准至少保证本地代码能工作在任何Java 虚拟机实现下。JNI(Java N 阅读全文
posted @ 2012-06-26 11:31 Qiengo 阅读(265) 评论(0) 推荐(0) 编辑
摘要: Android NDK发布后,java+C的编程方式成为android上性能编程的首选。但在C中调试困难,因此能使用logcat成为必须的要求。关于在Native代码中使用logcat,网上有很多说法,大部分有所欠缺,有的根本是错的。要使用logcat,首先在代码中要引入 log的头文件。#include <android/log.h>然后你可以简单的通过__android_log_write(ANDROID_LOG_ERROR,"Tag","Message"); 方法向logcat输出。log 级别有很多 : ANDROID_LOG_UNK 阅读全文
posted @ 2012-06-26 11:28 Qiengo 阅读(208) 评论(0) 推荐(0) 编辑
摘要: By冲出宇宙From傲尔科技(www.hour41.com)时间:2006-11-17注:转载请注明作者和单位。Java语言标准从1996年发布第一版,到2000年发布第二版,再到2004年发布第三版,java语言已经经过了3次大的扩充和改进。功能是越来越多,操作是越来越复杂。显然,性能问题也就越来越突出。本文将力图从java本身分析优化java代码的各种可能。文章的数据未经特别说明,均来自于jdk5.0版本。1 Java基本数据类型时间分析因为单独测试一个基本类型的变量很不精确,无论你怎么测,误差都很大。所以,我们只能大致的给出速度上的差别。变量的访问速度和访问的类型是有很大关系的,一般我们 阅读全文
posted @ 2012-06-26 10:34 Qiengo 阅读(527) 评论(0) 推荐(0) 编辑
摘要: 运算符优先级表优先级运算符结合性1()[].从左到右2!+(正) -(负)~++--从右向左3*/%从左向右4+(加)-(减)从左向右5<<>>>>>从左向右6<<=>>=instanceof从左向右7== !=从左向右8&(按位与)从左向右9^从左向右10|从左向右11&&从左向右12||从左向右13?:从右向左14=+=-=*=/=%=&=|=^= ~= <<=>>= >>>=从右向左说明: 1、该表中优先级按照从高到低的顺序书写,也就是优先级为1的优 阅读全文
posted @ 2012-06-23 10:55 Qiengo 阅读(269) 评论(0) 推荐(0) 编辑
摘要: 对于基本类型来说,就是值拷贝,高位舍去或补0,低级类型转高级类型,高位补0,高级类型转低级类型,高位舍去对于引用类型,就是内部指针强行转换(int)cache & ((1 << bits) - 1) process the & first! 阅读全文
posted @ 2012-06-22 17:09 Qiengo 阅读(218) 评论(0) 推荐(0) 编辑
摘要: System.out.printf("%x; %x; %x%n", -500, 2343L, iObj);System.out.print(String.format("%X%n",iObj);/* * <pre> * // %nX:n若为整数时,表示输出长度为n,不足的空间由空格代替;n或是以"0"开头的整数,表示输出长度为n,不足的长度以'0'代替。 * // 同样适用于输出10进制、8进制 * System.out.printf("%8X; %08X; %08X%n", -500, 阅读全文
posted @ 2012-06-21 18:11 Qiengo 阅读(172) 评论(0) 推荐(0) 编辑
摘要: public static Bitmap loadFromFile(String filename) { try { File f = new File(filename); if (!f.exists()) { return null; } Bitmap tmp = BitmapFactory.decodeFile(filename); return tmp; } catch (Exception e) { return null; } }import java.io.F... 阅读全文
posted @ 2012-06-19 11:42 Qiengo 阅读(1984) 评论(0) 推荐(0) 编辑
摘要: 双线性插值(Bilinear Interpolation),又称为双线性内插。在数学上,双线性插值是有两个变量的插值函数的线性插值扩展,其核心思想是在两个方向分别进行一次线性插值。图像的双线性插值放大算法中,目标图像中新创造的象素值,是由源图像位置在它附近的2*2区域4个邻近象素的值通过加权平均计算得出的。双线性内插值算法放大后的图像质量较高,不会出现像素值不连续的的情况。然而次算法具有低通滤波器的性质,使高频分量受损,所以可能会使图像轮廓在一定程度上变得模糊。它充分的利用了源图中虚拟点四周的四个真实存在的像素值来共同决定目标图中的一个像素值,因此缩放效果比简单的最邻近插值要好很多。X方向的线 阅读全文
posted @ 2012-06-18 15:42 Qiengo 阅读(1178) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 24 下一页