- 博客(232)
- 资源 (34)
- 收藏
- 关注
原创 [Android] 'WebView-- Caught a crash, signum=11'的解决
碰到一个奇怪的问题: WebView在显示本地的一个h5页面时,在Mi 2S可显示,页面上同样属性的按钮有两个可点击,但第三个按钮点击导致Activity必定出现崩溃。崩溃无详细日志,只有如下两句线索: // W/crash_handler(19125): Caught a crash, signum=11 // 14594-14594/com.eln.ba
2015-10-29 11:54:55 3502
原创 【JNI】Find 'jni.h' for MacOS
download jdk8 and install.check java version: sodino:~ sodino$ java -version java version "1.8.0_45" Java(TM) SE Runtime Environment (build 1.8.0_45-b14) Java HotSpot(TM) 64-Bit Server VM (build 25
2015-05-12 09:10:32 1764
原创 【JNI】jni.h函数详解手册--The Java(TM) Native Interface
一直觉得jni文档太少了,#include <jni.h>后,看着函数名大概能猜出函数意思来,但心里一直不放心,搜索来去也没有找到详细靠谱的文档。直到现在,发现了!“The Java(TM) Native Interface–Programmer’s Guide and Specification”一书中,在其JNI Functions章节中详细讲解了jni.h中的各函数含义及详情,总算解了一心节。
2015-05-11 13:02:00 2664
原创 【C/C++】多进程:信号量的监听与处理函数
文章结构:wait()的阻塞问题signal()函数讲解示例代码wait()的阻塞问题 之前的多进程:父进程监听子进程状态 wait()的使用文章中,父进程为了获取子进程的SIGSTOP、SIGTERM等信号时,由于调用了wait而导致主进程一直阻塞。在实际的开发中,主进程在等待子进程状态变化时还会有其它的事情要去执行,所以需要一种异步回调机制,让主进程可以在执行其它任务的时候,又可以监听到子进
2015-04-20 08:54:05 6089
原创 【C/C++】多进程:父进程监听子进程状态 wait()的使用
文章结构:wait能力介绍wait()函数讲解示例代码及操作演示wait能力介绍 在上一篇【C/C++】多进程:子进程的创建fork()中演示了子进程的创建。 创建子进程后,父进程具有监听子进程的运行状态的能力,用到的函数为: #include pid_t wait(int *status); pid_t waitpid(pid_t pid, int *status, in
2015-04-20 08:53:33 17195
原创 【C/C++】多进程:僵尸进程
一个僵尸进程产生的过程是:父进程调用fork创建子进程后,子进程运行至其终止。进程终止后有些信息对于父进程和内核还是很有用的,例如进程的ID号、进程的退出状态、进程运行的CPU时间等。因此进程运行终止后,系统会回收所有内核分配给它的内存、关闭它所打开的文件等,但是还会保留以上极少的信息,以供父进程使用,系统会向父进程发送SIGCHLD信号,父进程应及时调用wait函数来为子进程收尸,做一些收尾工作
2015-04-20 08:53:07 3784
原创 【C/C++】多进程:子进程的创建fork()
文章结构:进程结构fork函数示例代码frok使用场景进程结构 Linux下一个进程在内存里有三部分的数据,就是”代码段”、”堆栈段”和”数据段”。接触过汇编语言的人了解,一般的CPU都有上述三种段寄存器,以方便操作系统的运行。这三个部分也是构成一个完整的执行序列的必要的部分。 “代码段”,顾名思义,就是存放了程序代码的数据,如果机器中有数个进程运行相同的一个程序,那么它们就可以使用相同的代码
2015-04-20 08:50:51 43810 1
原创 【Linux】CPU时间与处理器耗时
文章结构:概念与函数命令Time示例代码概念与函数CPU时间(CPU TIME)是指当应用进程启动后,占用CPU进行计算所进行的时间绝对值,或叫时间点。如果进程进入中断、挂起、休眠等行为时,是不占用CPU的,所以CPU时间并不会跟着增加,且进程恢复运行后所获得的CPU时间值与运行中断之前的时间值是连续的,并不会因为运行的暂停而导致CPU时间的跳跃。这是和普通的日常时间值不一样的点。另一个不同的点是
2015-03-26 21:39:02 7737
原创 【C/C++】string操作方法汇总
本文提供【C/C++】string操作方法汇总如下:原文地址:http://sodino.com/2015/02/04/c-string-operate/判断内容是否相同字符串复制字符串拼接字符串拼接单个char字符串类别检查字符串子串截取 (substring)字符串界位符切割 (strtok strtok_r)判断内容是否相同#include int strcmp(const char s1,
2015-03-04 20:22:51 7641
原创 Android Studio开发JNI工程
使用Android Sutdio创建一个新的工程后,接下来记录创建NDK工程的基本步骤。本文将达到:1. 创建NDK工程2. 在JNI中输出Log语句3. 指定编译的so库的abi版本4. 解决在创建NDK工程中的问题Step: 1. 添加native接口注意写好native接口和System.loadLibrary()即可了,并无特别之处。P.S:onCreate()中对R.id.txt执行se
2014-12-15 18:49:21 114507 44
原创 [Android Studio][NDK]Execution failed for task ':app:compileDebugNdk'. Error Code:2
Execution failed for task ':app:compileDebugNdk'.> com.android.ide.common.internal.LoggedErrorException: Failed to run command: C:\Users\sodinochen\AppData\Local\Android\ndk-r10b\ndk-build.cmd NDK_PRO
2014-12-12 16:06:44 51163 9
原创 [C++]const Box * p || Box const * p || Box * const p的区别
const与指针结合使用时,容易让人迷惑的是: 1. const到底是限定该指针不可再指向其它内存呢? 2.还是修饰指针指向内容的内存区域不可变?下面来探究一下,先上基础代码。// Box.h#ifndef _BOX_H#define _BOX_Hclass Box {public : Box(); int volume(); void print() const ; void
2014-11-30 22:24:01 1922
原创 [C++] Union共用体示例讲解
/* * UnionLab.cpp * * Created on: Nov 29, 2014 * Author: sodino */#include using namespace std;/** * “共用体”是一种特殊的类,在一个“共用体”内可以定义多种不同的数据类型。 * 一个被声明为该“共用体”类型的变量中,允许装入该“共用体”所定义的任何一种类型的
2014-11-29 20:53:33 3991
原创 [C++] 变量、指针、引用作函数参数的区别
//============================================================================// Name : CppLab.cpp// Author : sodino// Version :// Copyright : Your copyright notice// Descriptio
2014-11-28 00:06:33 6063
原创 [ANT] Ant脚本封装ndk-build命令并执行打包启动
本篇文章为示范如何在Eclipse中开始一个Jni工程的操作步骤,并假设读者初步了解JNI具体规范及使用ANT脚本。(话说这样的初学者不多见吧…其实我只是想给自己写个总结而已) 阅读本文之前,请确保你的开发环境已经满足如下配置:1. 设置好了Android Sdk及Ndk环境变量。NDK的安装建议使用MinGW,只要能在命令行中正常运行make gcc程序即是成功了。并在Eclipse
2014-09-24 19:04:20 8673
原创 [Java][MAT] Shallow Heap大小计算释疑
查看Mat文档时里面是这么描述Shallow Heap的:Shallowheap is the memory consumed by one object. An object needs 32 or 64 bits(depending on the OS architecture) per reference, 4 bytes per Integer, 8 bytesper Long, etc.
2014-09-14 15:43:17 2378
原创 [MAT]使用MAT比较多个heap dump文件
使用MAT比较多个heap dump文件 调试内存泄露时,有时候适时比较2个或多个heap dump文件是很有用的。这时需要生成多个单独的HPROF文件。下面是一些关于如何在MAT里比较多个heap dumps的内容(有一点复杂):1. 第一个HPROF 文件(usingFile > Open Heap Dump ).2. 打开Histogram view.图1. Histogra
2014-08-12 11:39:39 12080 1
原创 [Android]生成heap dump文件(.hprof)
Android生成heap dump文件(.hprof)一个heap dump就是一个程序heap的快照,可以获知程序的哪些部分正在使用大部分的内存。它保存为一种叫做HPROF的二进制格式。对于Android执行android.os.Debug.dumpHprofData(hprofPath)方法后所生成的文件,需要把.hprof文件从Dalvik格式转换成J2SE HPROF格式。使用Andro
2014-08-12 11:09:40 24525 1
原创 [Java] 监控java对象回收的原理与实现
监控Java对象回收的原理与实现 一.监控Java对象回收的目的监控Java对象是否回收的目的是:为了实现内存泄露报警。 内存泄露是指程序中对象生命周期(点击查看详情)已经进入不可见阶段,但由于编码错误或系统原因,仍然存在着GC roots持有或间接持有该对象的引用,导致该对象的生命周期无法继续向下流转,也就无法释放的现象。简单的来说即是:已实例化的对象长期被持有且无法释放或不能按照对象正常的生命
2014-08-06 22:12:58 14312 3
原创 Java 对象的生命周期
Java对象的生命周期 在Java中,对象的生命周期包括以下几个阶段:1.创建阶段(Created)2.应用阶段(In Use)3.不可见阶段(Invisible)4.不可达阶段(Unreachable)5.收集阶段(Collected)6.终结阶段(Finalized)7.
2014-08-05 16:21:24 33509 5
转载 [Coder要有情商] “XXshenqi”安卓短信蠕虫病毒分析
6.一个Coder的感想 媒体将这种简单的恶意程序称之为“超级病毒”并广而告之,一方面表现了媒体的无知,另一方面,媒体的宣传力度越大,这个年轻的大一学生罪责就越陷得深,满满的让人觉得媒体在报道这件事情上真是够让人恶心的!
2014-08-04 14:36:53 2077
原创 [Android][Memory Leak] InputMethodManager内存泄露现象及解决
[Android][Memory Leak]InputMethodManager内存泄露现象及解决现象: 在特定的机型天语k_touch_v9机型上,某个界面上出现InputMethodManager持有一Activity,导致该Activity无法回收.如果该Activity再次被打开,则旧的会释放掉,但新打开的会被继续持有无法释放回收.MAT显示Path to gc
2014-06-18 22:54:10 33772 19
原创 [Mac] Mac book pro换SSD硬盘、制作启动U盘、TimeMachine恢复 小记
Mac book pro 硬盘故障、换SSD硬盘、启动U盘制作 小记 2012年买的Mbp又出硬盘故障了,虽然各种功能都能用,但经常频繁的出现鼠标风火轮,已经下好的电影在本地播放时都会隔个几分钟卡一下。拿到AppStore检测,说是硬盘的问题,“SMARTStatus:FAIL”,建议是要换硬盘。好吧,我的保修期已过,就准备自己动手换盘了。 准备
2014-06-15 22:58:39 33994 1
原创 [Android] 字体使用dp单位避免设置系统字体大小对排版的影响
[Android] 字体使用dp单位避免设置系统字体大小对排版的影响 以魄族mx3为例,在设置->显示->字体大小中可以选择字号大小如下图:图1. 魄族mx3会导致软件在有固定定高的界面中”已关联”显示不完全。如下图。图2. 字体显示不完全 解决此总是为把TextView中的字体大小的单位由sp改为dp即可。 此例子展示
2014-04-26 16:30:34 11396 2
原创 [Java][MAT] Shallow Heap大小计算释疑
查看Mat文档时里面是这么描述Shallow Heap的:Shallow heap is the memory consumed by one object. An object needs 32 or 64 bits (depending on the OS architecture) per reference, 4 bytes per Integer, 8 bytes per Long, e
2014-04-20 17:10:23 8321 1
原创 [Java]使用jConsole导出java程序的heap dump文件
[Java]使用jConsole导出Java程序heap dump文件Heap dump文件存储着在该文件生成时,Java程序的所有未被回收的Objects的信息。通过使用MAT工具,可以揪出内存泄漏点以达到减少Java程序内存消耗的目的。本文只是记录下如何使用jConsole导出Java程序的heap dump文件。以做分享及备份。在Jre6及以上的环境下,启
2014-04-13 17:20:47 12647
转载 [Java] DaemonThread(守护线程)简介---finally内的代码不一定会被执行
原文:http://www.cnblogs.com/luochengor/archive/2011/08/11/2134818.html http://www.cnblogs.com/luochengor/archive/2011/08/11/2134818.html http://www.cnblogs.com/luochengor/archive/2011/08/11/2134818.html
2014-04-09 20:44:31 2920 1
原创 [Android]startActivityForResult启动singleTask的Activity,则onActivitResult()立即回调且resultCode为RESULT_CANCEL
问题现象: 在刚安装完demo应用未登录任何帐号时,通过系统内的分享功能想将文件/图片等内容"发送给好友"或"发送到我的电脑",触发登录界面,但登录成功后,没有跳转到选择demo好友发送界面,无法继续发送。 代码分析: demo中JumpActivity处理着各种外部应用分享入口,通过调试发现进行分享时会判断是否登录过,如果未登录则
2014-03-25 21:40:09 17094 11
原创 [Java] 遍历指定包名下所有的类(支持jar)
项目需要,仅做记录。 支持包名下的子包名遍历,并使用Annotation(内注)来过滤一些不必要的内部类,提高命中精度。示例工程结构见下图.
2014-02-10 21:26:21 16929 6
原创 [Android] 获取WebView的页面标题(Title)-----WebChromeClient.onReceivedTitle()方法的重写
应用开发中需要获取WebView当前页面的标题,可能通过对WebChromeClient.onReceivedTitle()方法的重写来实现效果图如下:代码如下:public class MainActivity extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCre
2013-12-28 18:07:55 61477 7
原创 [Android]内存泄露排查实战手记
内存泄露排查实战手记Time:2013.09.02Author:sodino问题现象:这里内存泄露是指已实例化的对象长期被hold住且无法释放或不能按照对象正常的生命周期进行释放。问题期望:进行多次重复操作后,能够正常回收该对象(JobAppInterface)。期望在切换帐号后,之前的JobAppInterface能够及时回收(允许等待一段时间后再回收)。问题排查:
2013-12-23 20:42:16 4271
原创 [HTTP] response code:304 节省客户端流量
[HTTP] response code:304 节省客户端流量If-Modified-Since是标准的HTTP/1.1请求头标签,在发送HTTP请求时,把服务器被请求访问内容的最后修改时间一起发到服务器去,服务器会把这个时间与被请求内容的最后修改时间进行比较,如果条件符合,则服务器返回responseCode:304,并且不带任何数据流量内容。根据这样的特征,客户端在重复访问服务器资源
2013-12-16 11:59:17 7040
原创 [Android] 更改关联的源码路径
右击选中工程 → Java Build Path → Libraries → Android 4.1.2 → 点开android.jar → 选中Source attachment → Edit,即可更改。见下图。
2013-12-13 10:22:29 3318 1
原创 [SVN] 分支同步、合入主干操作分享
冲突的解决原则不是自己修改的地方就使用主干的。需要特别注意的是:分支同步主干时,远端(theirs)是主干,本地(mine/working)的是分支;分支合入主干时,本地(mine/working)的是主干,远端(theirs)是分支。二进制文件的冲突解决对于*.jar *.png 等二进制文件的冲突,如果这些文件与你的业务开发是无关的,直接右键"Resol
2013-12-04 21:55:02 11921
原创 [Ant][StartWithAnt] 第七章 Ant扩展包ant-contrib的使用
Ant-contrib是使用Ant编写脚本最重要的补充。当使用Ant编写一些较为复杂的逻辑功能,比如循环和流程判断时,自然希望 Ant 能支持这种编程能力。然而 Ant 核心任务中并没有提供 任务,只是在 任务的属性中支持 if 属性,比如 property-A-present"/>,即表示只有 property-A-present 属性存在才执行targetA 目标。但是,必须注意的一点是,
2013-11-24 19:25:29 15617 5
原创 [Ant][StartWithAnt] 第五章 条件判断Contidion 4.文件内容匹配 5.特性(property)存在性判断
4.文件内容匹配使用filesmatch任务,Ant还支持直接对两个文件内的内容直接进行匹配。filesmatch会对两个文件进行逐字节的匹配,直至找到不相等的内容或两个文件都逐字节匹配完毕返回true结果。所以文件匹配的时间消耗完全取决于两个文件的大小及差异的多少。当用于匹配的两个文件有一个存在,一个不存在时,则直接返回false结果。当用于匹配的两个文件都不存在时,则直接返回t
2013-11-24 19:15:56 2673
原创 [Ant][StartWithAnt] 第五章 条件判断Contidion 3.字符串匹配
可以使用equals任务来判断两个给定的字符串内容是否相同。equals任务重要的属性说明如下:arg1/arg2:指定两个用来对比的字符串,这两个参数必须有被赋值。casesensitive:设定在匹配过程中是否区分大小写,默认值为true区分大小写。trim:在匹配过程中是否去除空格再比较。默认为false。可以使用contains任务来判断能否在指定的字符串中搜索出另一个字符
2013-11-24 18:57:47 4177
原创 [Ant][StartWithAnt] 第五章 条件判断Contidion 2.资源存在性判断
在Ant运行时过程中,如果需要判断某些资源是否存在,则可以使用avaiable任务。该任务可以判断指定的一个文件、文件夹、类路径中的下的资源或JVM系统资源是否存在。如果指定的资源存在,则avaiable默认将其预先设定的属性值设为true,否则就不予赋值。亦可通过value属性自定义赋值。在以下代码中,指定了一个路径,通过并在avaiable处的type设置为dir表示该路径表示一个文件
2013-11-24 18:56:13 3116
原创 [Ant][StartWithAnt] 第五章 条件判断Contidion 1.逻辑判断
逻辑判断包括单条件判断的断言istrue/isfalse,及多条件判断的与and、或or、非not、异或xor等常见逻辑操作。代码5.1 逻辑判断输出结果如下:图5.1 逻辑判断结果
2013-11-24 18:55:12 2512
android gallery
2011-07-02
android adt0.9.9
2011-07-02
Android仿通讯录ListView小例子
2011-05-03
TexasHoldem Pokerhand Recognizer
2009-10-30
PacketTracer51_setup05
2009-05-26
PacketTracer51_setup04
2009-05-26
PacketTracer51_setup03
2009-05-26
PacketTracer51_setup02
2009-05-26
PacketTracer51_setup
2009-05-26
SCJP准备资料大资源(第六部分,共六部分)
2009-04-03
SCJP准备资料大资源(第五部分,共六部分)
2009-04-03
SCJP准备资料大资源(第四部分,共六部分)
2009-04-03
SCJP准备资料大资源(第三部分,共六部分)
2009-04-03
SCJP准备资料大资源(第二部分,共六部分)
2009-04-03
SCJP准备资料大资源(共六部分)
2009-04-03
在NetBeans,Eclipse,JBuilder中搭建SonyEricsson模拟器过程文件
2008-12-21
在NetBeans中安装SonyEricsson模拟器
2008-12-21
J2me嵌入式开发中的基础开发环境搭建过程.pdf
2008-12-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人