- 博客(67)
- 资源 (4)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 我工作这几年(五)-- 在代码中加入一些关键统计信息来实时监控程序的运行状态
我工作这几年(五)-- 在代码中加入一些关键统计信息来实时监控程序的运行状态在上一篇《我工作这几年(四) --解决短信平台OutOfMemory问题及收获》中,分析了在出现OutOfMemory问题后,如何通过性能测试重现问题后再解决问题,但通过这种方式去解决问题比较被动,那如何能主动地让问题及时地暴露出来呢?一般我们在写代码过程中都会输出很多日志,但是在现网运行时,只会放开INFO级别以上的日志,OutOfMomery问题要出现一般都需要一个比较持续的过程才行,所以即使是INFO以上级别的日志,服务
2014-02-07 19:02:02
2579
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 我工作这几年(十五)-- Android学习4.5月总结(一)
今年是对我个人成长和程序员生涯冲击很大的一年。有了小孩之后,家里发生了太多太多的事情,现在已经慢慢步入正轨,还好撑过来了,当然还有老婆、岳父岳母、我爸妈、还有好多关心支持我的人的帮助。在各种挫折交替出现又慢慢过来后,这些人生的小插曲也让我开始成熟起来。绝大多半时候我是改变不了环境和他人的,能改变的只有我自己,以及我自己对问题的看法和态度。程序员生涯,因为部门调整,我被迫放弃了我做了3年多的
2013-12-08 22:36:39
2404
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 我工作这几年(四) -- 解决短信平台OutOfMemory问题及收获
在 我工作这几年(三) -- 实现短信平台 中提及短信平台上线后,遇到了Heap OutOfMemory的问题,这也是我工作这么久遇到的最难解决的问题。下面就讲讲这个问题的定位过程。一、概述首先这个问题是在现网运行了一个多月之后都出现,之前我们在实验室环境也跑过很久,一直没有遇到过,而且也跑过10小时的性能测试,没有出现同样的问题,但现网出现了,说明我们在家里模拟得还不到位。于是我又将所有的代码又重新走读了一遍,没有发现问题。
2013-10-24 13:17:32
2956
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 我工作这几年(三) -- 实现短信平台
我工作这几年(三)-- 实现短信平台快到了07年底的时候,新的任务过来了,需要基于公司的短信协议栈来实现一个短信业务平台,目标是要尽可能高地实现短信平台的性能,以方便后面的业务扩展。根据最初的设计,我们想实现如下的方案:图1其中AA、Portal,是已有的模块,为了实现短信功能,需要新增MsgAgent、eMTS这两个模块,其中MsgAgent是企业内的一个短信代理模块,一方面
2013-09-21 17:21:03
5237
3
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 我工作这几年(二)
07年页面框架做完后,又做了一段时间了需求开发,基于自己开发的框架做WEB开发,那不是一般地顺手,那是相当地顺手。虽然做得顺手,但进度非常紧,那一个多月每天都加班到很晚,痛并快乐着。在做页面框架期间,重点看了两本书:《重构:改善既有代码的设计》和《敏捷软件开发:原则、模式与实践》,重构这本书让我对如何写好代码有了个初步的认识,而敏捷这本书,说实话,只看得懂字面意思,无法领会。在这个项目快结
2013-09-01 22:52:00
2044
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 我工作这几年(一) -- 读“有多少人像这样这样苦苦挣扎”有感
我工作这几年 -- 读“有多少人像这样这样苦苦挣扎”有感看到“x73242”发布的《有多少人像这样这样苦苦挣扎》,想起自己走过的这几年,有感而发。《有多少人像这样这样苦苦挣扎》原文如下:搞程序有段时日了,渐渐的发现这个行业的现实。本人和身边的大多数人大多都是做java web,没多少技术含量,忙倒是挺忙,在开源或是自己公司开发的成熟的框架上把一个又一个不太复杂需求变成页面、业务逻辑
2013-08-31 18:41:02
2226
原创 Android 4.3 Monkey自动化测试工具被killed的原因分析
测试组使用Monkey在Android上想对APK进行自动化测试,但在启动Monkey测试工具时,一直无法正常启动,shell@android:/ $ monkey -p com.android.calculator2 -v 100monkey -p com.android.calculator2 -v 100:Monkey: seed=1393356259515 count=100:A
2014-02-14 19:33:49
5827
原创 Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果(二)
原创链接:,转载请注明,谢谢。 目前Android的实现是:有来电时,音乐声音直接停止,铃声直接直接使用设置的铃声音量进行铃声播放。Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果。 如果要实现这个效果,首先要搞清楚两大问题;1、来电时的代码主要实现流程。2、主流音乐播放器在播放过程中,如果有来电,到底在收到了什么事件后将音乐暂
2014-02-07 19:17:36
3867
原创 java.lang.SecurityException: No permission to write APN settings问题的定位小结
在实际开发过程中,某模块访问TelephonyProvider时,问题报下面的异常,而且报的频率还挺高,今天特别抽空找了一下。01-11 19:23:49.301: E/DatabaseUtils(902): Writing exception to parcel01-11 19:23:49.301: E/DatabaseUtils(902): java.lang.SecurityExcep
2014-01-11 19:43:58
40680
12
转载 明星软件工程师的10种特质 & 如何成为一名优秀的软件工程师
转自:http://blog.jobbole.com/344/明星软件工程师的10种特质如今,每家公司都似乎成了科技公司。从软件创业公司到投机性投资公司、制药巨头和媒体巨头,它们都越来越多地加入到软件业务行列。代码质量不仅成为了一个必需品,更成为了一个竞争优势。因为众多公司围绕软件而竞争,开发软件的人——软件工程师正显得越发重要。但是,你该如何发现那种百
2013-12-14 21:37:36
2069
原创 使用Android提供的模拟任意地理位置,报java.lang.IllegalArgumentException: Incomplete location object异常的解决方法
使用Android提供的模拟任意地理位置的接口,执行如下方法时,会报异常: Location localLocation = getLoc(LocationManager.GPS_PROVIDER); mLocationManager.setTestProviderLocation(LocationManager.GPS_PROVIDER, localLo
2013-12-10 15:01:44
5531
转载 如何获取安卓手机当前壁纸的路径
转发:http://caserest.diandian.com/post/2013-06-06/40050768847昨天马老师问我小米手机的壁纸在哪里放着,我一时没理解就说在sd卡了还有根目录-system-media-wallpaper都有壁纸的,而后才晓得马老师是要找 设置好了桌面壁纸,这个图片被MIUI存放到哪里去了。也就是当前壁纸的保存路径。我就开始找啊找又去个查
2013-12-01 16:55:46
23061
原创 Exception Ljava/lang/UnsatisfiedLinkError 的解决方法
之前实现了一个号码分析的APK,让第三方应用通过AIDL调用来分析号码。正常情况下,都是通过手动安装此APK来实现部署的,但今天有个兄弟直接将此APK放到 /system/app/ 目录下,第三方应用一调用这个APK的AIDL,就报了下面的异常:11-19 10:23:57.198: W/dalvikvm(11342): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lcom/zhaowei/lib/Encry
2013-11-19 10:39:56
20717
转载 四件在我步入职业软件开发生涯那天起就该知道的事情
http://www.aqee.net/4-things-i-wish-i-would-have-known-when-i-started-my-software-development-career/我的软件开发生涯开始于大约15年以前。但是直到最近5年,我才真正地看到它的提高。下面这些事情,我希望在进入软件开发领域时我已经知道了。如果我早点知道这些事儿,我将会变得更
2013-11-13 11:45:04
1413
转载 解决Android Activity切换时出现白屏问题
转发:http://blog.163.com/zhuowh2006@126/blog/static/10182372420132317935536/有些性能低的机器,在切换activity时候出现白屏一段时候后才显示正确的视图,高性能的机器可能太快看不到,但是事实是存在的,特别是当你新开一个进程的时候,A进程的activity跳转到B进程的Activity是绝对会出
2013-11-02 17:03:57
5779
转载 Android系统手机端抓包方法
抓包准备1. Android手机需要先获得root权限。一种是否获得root权限的检验方法:安装并打开终端模拟器(可通过安卓市场等渠道获得)。在终端模拟器界面输入su并回车,若报错则说明未root,若命令提示符从$变#则为rooted;2. 如果Android手机尚未root,可通过superoneclick或其它方法进行root处理(需要先安装Microsoft .NET Framewo
2013-10-29 10:47:42
2086
转载 Android DEX安全攻防战
最近在研究Android反编译,这个文章非常有参考价值。 本文章由Jack_Jia编写,转载请注明出处。 文章链接:http://blog.csdn.net/jiazhijun/article/details/9428861作者:Jack_Jia 邮箱: 309zhijun@163.com 英文原版:http://www.strazzere.com
2013-10-26 14:48:05
1583
原创 Android 将反编译出的APK再回编回去,可以正常运行
今天要做一点坏事,需要将某APK反编译出来,修改点东西,然后再回编回去,反编译成功了,但回编时,死活不行。由于这个APK比较大,有20多m,具体是哪个APK就不说了。最开始使用“APK改之理”进行反编译,编译了一半,就卡住不动了;换工具,直接使用 apktool1.5.2 进行反编译: apktool d C:\*.apk C:\*文件夹得到想到的SMALI文件和其它文件,但上述命令的输出中,有如何信息,先忽略:
2013-10-24 22:14:43
5070
1
原创 【Android】Eclipse报This version of the rendering library is more recent than your version of ADT ...
最近使用 Help --> Check for Updates 升级了Eclipse部分插件,之后新建4.3的工程,res/layout 下的xml布局文件无法预览了,一预览总是报这个错: This version of the rendering library is more recent than your version of ADT plug-in. Please upda
2013-10-23 11:06:08
11426
4
原创 Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?
最近在研究Activity的启动流程,老罗的blog在看,也找了其它资料学习,也跟过Android4.3的源码,在跟代码的过程中,突然想到下面的这个问题: Android Activity为什么要细化出onCreate、onStart、onResume、onPause、onStop、onDesdroy这么多方法让应用去重载?网上太多根据Android开发规范翻译转载的内容,都不是我想要的答案,那就自己分析下
2013-10-20 22:17:52
23532
6
转载 使用Google Map API可能会遇到的问题汇总
今天在将 http://www.curious-creature.org/2011/02/22/source-code-for-android-3-0-animation-demo/ 这个Demo想在手机上测试的时候,遇到了几个问题,参考下面的blog中问题解决,保留一下,后面万一再用到。-----------------------------------------------
2013-10-12 16:57:53
2295
原创 Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果
目前Android的实现是:有来电时,音乐声音直接停止,铃声直接直接使用设置的铃声音量进行铃声播放。Android 4.3实现类似iOS在音乐播放过程中如果有来电则音乐声音渐小铃声渐大的效果。如果要实现这个效果,首先要搞清楚两大问题;1、来电时的代码主要实现流程。2、主流音乐播放器在播放过程中,如果有来电,到底在收到了什么事件后将音乐暂停了?
2013-10-11 14:10:45
4172
原创 Android如何判断当前手机是否正在播放音乐,并获取到正在播放的音乐的信息
我想实现如下的场景,判断当前Android手机上是否正在播放音乐,如果是,通过某个特定的手势,或者点击某个按键,将当前我正在听的音乐共享出去。第一步,就是判断当前是否有音乐正在播放。最开始我想得有点复杂,以为要深入framework或更下层去做手脚才行,找了一下资料,发现AudioManager对外暴露了接口。/** Checks whether any music is active. */isMusicActive()通过这个接口就可以判断当前系统是否有音乐在播放了。 还有一个问题,如果
2013-10-09 15:58:14
11425
3
转载 项目经理问:为什么总是只有我在加班 – 挂包袱现象
11年开始带项目带人时,遇到过类似的问题,看了这个文章,有不少启发。 原文链接:http://blog.csdn.net/yihui823/article/details/6769887 现象最近和一位项目经理聊天。这位PM之前是个技术大牛,没什么搞不定的东西,而且做事也认真,也卖命。领导没理由不提拔这种牛人。所以,这个项目让这哥们当PM。聊着聊着,这位牛人发出一声感慨,现
2013-09-28 21:05:22
1347
1
原创 Launcher中动态加载APK出现java.lang.SecurityException异常的解决方法(二)
在Launcher中动态加载APK,之前有出现过java.lang.SecurityException的异常,具体的异常信息如下:09-05 19:05:55.033: E/AndroidRuntime(28637): java.lang.SecurityException: Given caller package com.zhao3546.time is not running in
2013-09-26 21:23:02
8204
1
转载 Android服务之PackageManagerService启动源码分析
今天无意间找到这个文章,看了一下,写得还是不错的,转载下,后面继续学习。原文链接:http://blog.csdn.net/yangwen123/article/details/9464779了解了Android系统的启动过程的读者应该知道,Android的所有Java服务都是通过SystemServer进程启动的,并且驻留在SystemServer进程中。SystemSe
2013-09-25 20:20:02
1839
原创 修改Android 4.2.2的原生Camera引出的java.lang.UnsatisfiedLinkError: Native method not found,及解决方法
修改Android 4.2.2的原生Camera应用,做一些定制,将Camera的包名从之前的 package com.android.* 修改成了com.zhao3546.*。调整后,应用可以正常运行,但是Camera自带的特效编辑等功能,无法正常使用。一点图片编辑的图标,就出现了下面的异常:09-12 18:52:48.131: E/AndroidRuntime(6071): java
2013-09-12 19:46:54
5446
转载 Android 应用程序窗体显示状态操作(requestWindowFeature()的应用)
在看Android 4.2.2 自带的Music源码时,下面的代码一直不是很明白具体表示啥,其中 INDETERMINATE 的翻译如下:音节划分:in▪de▪ter▪mi▪nateindeterminate英 [ˌɪndɪˈtɜ:mənɪt]美[ˌɪndɪˈtə:mənɪt] adj. 不定的,不明确的;模糊的
2013-09-12 11:59:53
1514
原创 通过Intent传输图片导致广播消息异常的问题根因分析(通过分析Android源码反向推理)
Music应用负责音乐的播放,如果某音乐还有图片,也需要把图片显示出来;当Music应用播放的音乐发生切换后,需要通过广播消息,将正在播放的音乐的名称、图片等通过广播消息通知给B应用。如果播放的是歌曲1,应用B可以正常收到歌曲1的名称、图片等;但如果切换到歌曲2,应用B无法收到广播消息。09-11 16:12:25.342: E/JavaBinder(9985): !!! FAILED BINDER TRANSACTION !!! 这个错误出现的根因是什么?通过此错误进一步分析Android源码。
2013-09-11 16:47:06
3135
原创 Android中通过耳机按键控制音乐播放的实现
今天在研究Android中实现Android 4.2.2源码中的Music应用的源码,关于通过耳机按键控制音乐播放的实现,有点好奇,就仔细分析了一下源码,主要由 MediaButtonIntentReceiver 这个类来实现。在AndroidManifest.xml中有如下Receiver的注册: <receiver android:name="com.huawei.imax.music.MediaButtonIntentReceiver" > <intent
2013-09-10 21:44:41
7755
4
转载 无法推动项目起步?试试麦当劳理论
看了这个文章,想起之前的部分项目经历,在不知道如何开始的时候,就是提出一个初步的想法,然后大家一起讨论发散。。。无法推动项目起步?试试麦当劳理论作者: Jon Bell 来源: 新浪科技 发布时间: 2013-09-07 21:38 阅读: 1072 次 推荐: 8原文链接 [收藏] 为了避开糟糕的点子,人们会被激发出更好的点子。 英文原文:McDon
2013-09-10 15:26:17
2275
转载 Activity的LaunchMode和taskAffinity,有点绕
今天在看Music的源码,AndroidManifest.xml中的application结点有android:taskAffinity属性,特意找了资料看了一下,越看越复杂,转载下,有空再仔细看一下: android:allowTaskReparenting="true" android:icon="@drawable/app_music"
2013-09-09 21:13:36
2035
原创 Android Binder驱动源码下载地址
最近在看《Android框架揭秘》,看到第七章 Android Binder IPC时,其中有涉及到Binder驱动的代码,想了解一下,找了半天没有一个有效的链接参考,自己动手找:https://android.googlesource.com/kernel/common.git/+/android-3.4/drivers/staging/android/我个人测试发现,使
2013-09-09 11:16:23
4435
原创 某APK中使用了动态注册BroadcastReceiver,Launcher中动态加载此APK出现java.lang.SecurityException异常的解决方法
在某APK中,通过如下方法动态注册了一个BroadcastReceiver,代码参考如下:Launcher要动态加载此APK(动态加载APK的目的和实现思路,参见我的这个文章:Launcher中动态加载其它APK中Activity的问题解决思路),出现了如下异常:09-05 19:05:55.033: E/AndroidRuntime(28637): java.lang.SecurityException: Given caller package com.zhao3546.time is not
2013-09-06 10:39:21
5630
2
转载 eclipse启动时报-Failed to create the Java Virtual Machine 解决方案
昨天Eclipse还是可以正常启动,今天启动弹出提示框“ Failed to create the Java Virtual Machine”针对这个问题在网上寻找解决方案。找到几个,全是Ctrl c/v,不带半句解释。后来,靠着差强人意的有限英语水平,在eclipse官网的论坛搜索,发现此问题是一bug。“The Java bug was closed for
2013-09-05 10:30:13
1524
转载 应用程序签名机制进一步说明
先声明,本文不是自己原创,都是在做应用的时候涉及到的内容,但是把签名的所有内容都涉及到了。包括签名的知识点、怎么签名、安装前的签名对比是否相同。1、签名的基础知识点:发布过Android应用的朋友们应该都知道,Android APK的发布是需要签名的。签名机制在Android应用和框架中有着十分重要的作用。例如,Android系统禁止更新安装签名不一致的APK;如果应用需要
2013-09-04 15:24:44
2008
转载 Android安全机制分析,及应用程序签名机制
原文链接:http://www.2cto.com/Article/201308/237263.htmlAndroid安全机制分析Android系统是基于Linux内核开发的,因此,Android系统不仅保留和继承了Linux操作系统的安全机制,而且其系统架构的各个层次都有独特的安全特性[2] 。1. Linux内核层安全机制Android的Linux内核包含了强制访问控制机制和
2013-09-04 15:06:16
8952
原创 做自己的Android ROM,屏蔽对framework中的系统APK的签名检查
最近两天一直在尝试更新Android中的关键库以达到定制ROM的效果,中间比较曲折,记录下来供自己和大家以后参考。我的目标,更新原生系统中的部分重要的APK,以达到我的http://pan.baidu.com/share/link?shareid=198381908&uk=4145338314
2013-09-04 11:41:31
10853
5
原创 android手机连接PC后,执行adb shell报daemon not running. starting it now on port 5037 ADB server didn't ACK
昨天手机连接pc,还是正常的,今天手机连接电脑后,豌豆夹一直接显示连接中,多次重复插拔USB线,还是不正常的。在cmd中,输入adb shell后,一直显示下面的内容,C:\Users\zhao3546>adb shell* daemon not running. starting it now on port 5037 *ADB server didn't ACK* fai
2013-09-04 09:43:49
11807
转载 android锁屏软件屏蔽状态栏下拉
1.做锁屏软件,锁屏软件具体界面的实现不说,在屏蔽通知栏下拉的时候就出现问题了。网上找了一些资料,可以通过statusbarmanager这个类来实现,由于这个类是系统隐藏的,所以我们很容易就想到使用反射,这个类的源码如下: package android.app; import android.content.Context; import android.os.Binder;
2013-09-02 16:56:47
2986
1
MonitorDemo.rar
2014-02-06
网站架构及高性能并发服务器设计
2013-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人