JackPeng

Keep on going never give up

WebView的JavaScript与本地代码三种交互方式

WebView的JavaScript与本地代码三种交互方式 WebView的漏洞分析 漏洞产生的原因 最近在开发过程中遇到一个问题,就是 WebView 使用的时候,还是需要解决之前系统(4.2之前)导致的一个漏洞,虽然现在这个系统版本用户很少了,但是也不能忽视,关于这个漏洞,这里就不多做解释了,可能有的同学早就了解了,本来想写一篇文章详细介绍一下,但是网上的知识太多了,而且都很详细,...

TortoiseSVN中分支和合并实践

TortoiseSVN中分支和合并实践 使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤。 最近由于适配机型的需要(本人从事手机客户端的开发),需要经常接触分支和合并两项工作,突然发现这玩意整不明白很难开展工作...

Android性能:远程触发GC

一、远程触发GC原理 我们都知道 GC 是java虚拟机释放内存的机制。 一般的在当前进程触发GC有两种方式: 主动触发。调用System.gc() 被动触发。预分配的内存不足 or OOM之前 有没有办法跨进程 做GC操作呢? 答案是肯定的。因为Android Moniter中就给我们提供了 Initiate GC 功能,可以对Debug版进程 远程触发GC动作: ...

Java上调用Object.wait()函数后,当前线程是否还拿着Object对象锁?

Java上调用Object.wait()函数后,当前线程是否还拿着Object对象锁? 一、 在synchronized代码块中,调用Object.wait()后, 对象锁是否会释放? 答案是: yes, 对象锁被释放了。 如下为测试用例: // 用来做同步的对象 final Object object = new Object(); // 执行Object.wait()的 ru...

Android:通过SpannableString为TextView设置丰富的显示效果

在使用TextView的过程中,有时候会需要将一串文本中的部分文字做特别的显示效果处理,比如加粗、改变颜色、加着重标识、超链接等等,我们可以通过多个TextView拼凑来实现,但如果需要特殊处理的内容在整个文本的中间,用多个TextView拼凑实在是太麻烦、太Low了,Android提供的SpannableString类能够很好地解决这个问题,SpannableString结合下面各种以Sp...

如何定位Android NDK开发中遇到的错误法

如何定位Android NDK开发中遇到的错误 Android NDK是什么,为什么我们要用NDK? Android NDK 是在SDK前面又加上了“原生”二字,即Native Development Kit,因此又被Google称为“NDK”。众所周知,Android程序运行在Dalvik虚拟机中,NDK允许用户使用类似C / C++之类的原生代码语言执行部分程序。NDK包括了 ...

Gradle学习系列之一——Gradle快速入门

请通过以下方式下载本系列文章的Github示例代码: git clone https://github.com/davenkin/gradle-learning.git 和Maven一样,Gradle只是提供了构建项目的一个框架,真正起作用的是Plugin。Gradle在默认情况下为我们提供了许多常用的Plugin,其中包括有构建Java项目的Plugin,还有War,Ear等。与Ma...

adb的用法大全

基本用法 命令语法 adb 命令的基本语法如下: adb [-d|-e|-s <serialNumber>] <command> 如果只有一个设备/模拟器连接时,可以省略掉 [-d|-e|-s <serialNumber>] 这一部分,直接使用 adb <command>。 为命令指定目标设备 如果有多个设备/模拟器连接,则需要为...

wm命令使用方法

注:Android 4.3引入的wm工具 wm命令及用法: 系统说明: shell@kenzo:/ $ wm usage: wm [subcommand] [options] wm size [reset|WxH] wm density [reset|DENSITY] wm overscan [reset|LEFT,TOP,RIGHT,...

深入Java关键字null

深入Java关键字null 一、null是代表不确定的对象 Java中,null是一个关键字,用来标识一个不确定的对象。因此可以将null赋给引用类型变量,但不可以将null赋给基本类型变量。 比如:int a = null;是错误的。Ojbect o = null是正确的。 Java中,变量的适用都遵循一个原则,先定义,并且初始化后,才可以使用。我们不能int a后,不给a指定值,...