- 浏览: 73108 次
- 性别:
最新评论
文章列表
1.JVM内存模型
1.本地方法栈(Native) 调用c部分
2.程序计数器 (程序代码行数) JVM支持多个线程同时运行,每个线程都有自己的程序计数器。倘若当前执行的是 JVM 的方法,则该寄存器中保存当前执行指令的地址;倘若执行的是native 方法,则PC寄存器中为空。
3.栈 stack :每个线程有一个私有的栈,随着线程的创建而创建。栈里面存着的是一种叫“栈帧”的东西,每个方法会创建一个栈帧,栈帧中存放了局部变量表(基本数据类型和对象引用)、操作数栈、方法出口等信息。栈的大小可以固定也可以动态扩展。当栈调用深度大于JVM所允许的范围,会抛出StackOverflow ...
1.建立节点对象
<wiz_code_mirror>
@Getter
@Setter
@Builder(builderClassName = "NodeBuilder")
@NoArgsConstructor
@AllArgsConstructor
public class Node {
private N
import java.util.Timer;
import java.util.TimerTask;
/**
*
* 于第一种方式相比,优势 1>当启动和去取消任务时可以控制 2>第一次执行任务时可以指定你想要的delay时间
*
* 在实现时,Timer类可以调度任务,TimerTask则是通过在run()方法里实现具体任务。 Timer实例可以调度多任务,它是线程安全的。
* 当Timer的构造器被调用时,它创建了一个线程,这个线程可以用来调度任务。 下面是代码:
*
* @author GT
...
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
<version>4.4.1</version>
</dependency>
.so兼容32位和64位
- 博客分类:
- jni
安卓的兼容性是一个很令人头疼的问题,这几天又遇到了,还好还是解决了。
我遇到的问题是,我在网上下载了一个功能库,里面带了一个xxx.so动态库,问题它是32位的。但是,早两天拿了一台arm-64位的手机进行测试时,发现它居然崩溃了!泪崩了好久...
起初报错信息是:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.xxx.xxx-1/base.apk"],nativeLibraryDirectories=[/data/ ...
在classes目录下studio对应目录app\build\intermediates\classes 执行:javap -s 全类名
"()" 中的字符表示参数,后面的则代表返回值。例如"()V" 就表示void Func();
"(II)V" 表示 void Func(int, int);
"(Ljava/lang/String;Ljava/lang/String;)V"
字符 Java类型 C类型V void voidZ jboolean ...
1、AndroidJNI.AllocObject 分配对象static function AllocObject (clazz : IntPtr) : IntPtrDescription描述Allocates a new Java object without invoking any of the constructors for the object.分配新 Java 对象而不调用该对象的任何构造函数。返回该对象的引用。clazz 参数务必不要引用数组类。2、AndroidJNI.AttachCurrentThread 附加当前线程static function AttachCurrent ...
C调用java
jclass TestProvider;
jobject mTestProvider;
jmethodID showtoast;
jmethodID sayHello;
JNIEXPORT void JNICALL Java_com_beats_music_musicbeats_NdkTest_setTemp
(JNIEnv * env, jobject jobj, jstring jstr){
// 1. C 中映射 类
TestProvider=(*env)->FindClass(env,"com/beats/m ...
Canvas和Paint常用方法
- 博客分类:
- android
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2012/1212/703.html
1、首先说一下canvas类:
Class Overview
The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a ...
64k限制-dex分包
- 博客分类:
- android
打包时报64k方法限制解决1.build.gradle:defaultConfig { multiDexEnabled true //打包支持 } 2.Application中: @Override protected void attachBaseContext(Context base) { super.attachBaseContext(base); MultiDex.install(this); }
http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0731/1639.html
http://square.github.io/picasso/
引入
compile 'com.squareup.picasso:picasso:2.5.2'
图片等比例
Picasso.with(this).load("http://i.imgur.com/DvpvklR.png")
.transform(new Transformation() {
...
参考网址:http://greenrobot.org/greendao/documentation/how-to-get-started/github:https://github.com/greenrobot/greenDAO
http://www.tuicool.com/articles/63I3EfB
1.集成greendao:
根目录build.gradlebuildscript { repositories { mavenCentral() } dependencies { classpath 'org.greenrobo ...
参考网址:http://greenrobot.org/eventbus/引入EventBus:compile 'org.greenrobot:eventbus:3.0.0'
1.快速入门
step1:定义事件public class MessageEvent { public final String message; public MessageEvent(String message) { this.message = message; }}step2:接收并处理事件
相应生命周期方法中注册和解注册
@Overridepublic void onS ...
Androidstudio2.0打包报错
- 博客分类:
- android
之前用Androidstudio1.5 打包都正常
现在用2.0打包各种报错 build.gradle下添加就好了
android{
lintOptions{
checkReleaseBuilds false
abortOnError false
}
}
dialog cancel崩溃bug解决
- 博客分类:
- android
在Activity finish后调用cancel方法引起崩溃
解决方案 :cancel前判断activity.isFinish();