android
文章平均质量分 67
程尔旭源
这个作者很懒,什么都没留下…
展开
-
android中通用拒绝服务漏洞
该漏洞的描述见链接文章:http://www.cnxhacker.com/2015/01/07/5603.html主要的原因是使用了Intent中getSerializableExtra() 的API,如果攻击程序使用了app未定义的序列化类,该方法抛出异常,如果未捕获该异常,则导致应用不断crash。如果Activity不需要对外暴漏,则将exported置为false即可。此外,就是针对A原创 2015-02-10 14:41:03 · 1701 阅读 · 0 评论 -
写文件
// File file = new File(mAppContext.context.getExternalFilesDir(null), "original.txt");// try {// String data = currentLocation.getLatitude()+","+currentLocation.getLongitude()+","+curren原创 2016-03-28 10:33:30 · 449 阅读 · 0 评论 -
android应用程序中对于ANR主线程超时不响应导致强制关闭的解决方案
ANR(Application Not Responding)定义在Android上,如果你的应用程序有一段时间响应不够灵敏,系统会向用户显示一个对话框,这个对话框称作应用程序无响应(ANR:Application Not Responding)对话框。用户可以选择“等待”而让程序继续运行,也可以选择“强制关闭”。所以一个流畅的合理的应用程序中不能出现anr,而让用户每次都要处理这个对话框原创 2016-03-11 14:50:49 · 3733 阅读 · 0 评论 -
android.net.http.AndroidHttpClient Android6.0 API23以后失效
在android 6.0(API 23)中,Google已经移除了Apache HttpClient相关的类推荐使用HttpUrlConnection,如果要继续使用需要Apache HttpClient,需要在eclipse下libs里添加org.apache.http.legacy.jar,android studio里在相应的module下的build.gradle中加入:android原创 2016-03-23 14:53:16 · 4014 阅读 · 0 评论 -
反射调用android系统级API函数
try { Class mClass = Class.forName("com.android.server.wifi.WifiSettingsStore"); Constructor con=mClass.getDeclaredConstructor(Context.class); if(!con.isAccessible()){ con.setAccessible(t原创 2015-08-19 14:13:32 · 3167 阅读 · 3 评论 -
xxx.so has text relocations. This is wasting memory and is a security risk. Please fix
最近使用jni编译so文件,发现在android M中将之前一直视为warning的text relocation升级为了error ,直接导致system.load so文件的时候失败。翻了网上各种资料,关于text relocation的解决办法总结了一下:这个错误的主要原因是加载.so文件的代码段时,代码段引用的数据对象需要重定位, 重定位会修改代码段的内容,这就造成每个使用这个原创 2015-09-02 10:42:10 · 8622 阅读 · 0 评论 -
Android中创建Message两种方法比较,new Message和obtainMessage
尽管Message的构造器是公开的,但是获取Message对象的最好方法是调用Message.obtain()或者Handler.obtainMessage(), 这样是从一个可回收对象池中获取Message对象。让我们来看一下Message中obtain的源码:/** * Return a new Message instance from the global pool.原创 2015-09-02 09:51:55 · 1630 阅读 · 0 评论 -
android中的内存泄露查找与常见的内存泄露案例分析
常见的内存泄露查找方法请参见:http://hukai.me/android-performance-patterns/这篇文章是google发布的android性能优化典范示例,对于渲染、内存GC与电量消耗都做了好的示范。这里我总结了下,android中常见的内存泄露1、类中调用registerReceiver后未调用unregisterReceiver().在调用reg原创 2015-04-03 11:40:29 · 1224 阅读 · 1 评论 -
指数退避算法exponential back-off algorithm
在很多场景下,我们都需要解决一些诸如轮训这样的问题。如果这样的算法出现在app上,这种轮训对于app性能和电量的消耗都是个巨大的灾难,那如何解决这种问题呢?app在上一次更新操作之后还未被使用的情况下,使用指数退避算法exponential back-off algorithm来减少更新频率。这里我们介绍下指数退避算法。SharedPreferences sp = context.ge原创 2015-04-20 15:03:00 · 2484 阅读 · 0 评论 -
android中强行停止(forceStopPackage)对alarmManager、Receiver的影响
背景之前给手机淘宝做了个准点提醒的中间件,类似闹铃提醒,使用sqlite和alarmManager两个组件实现,最近发现在MIUI上大量用户反馈提醒收不到,所以查了两天原因,把这个问题总结下以备后人参考。场景再现在说这个问题之前,先来说下MIUI奇葩的清理机制,没错,MIUI用户长按home键的那个清理过程,执行的是forceStopPackage操作。那么执行forcestop之后,原创 2015-03-11 17:23:04 · 5913 阅读 · 0 评论 -
android NDK 使用JNI实现与原生代码通信
1、关于原生代码的声明/*静态native方法声明*/public static native String stringFromJni();/*native方法声明*/public native String stringFromJni();2、原生方法实现这两种方式在实现上会有略微不同用javah的命令行工具生成的头文件,分别为jString Java_com_example_h...原创 2014-09-11 18:58:29 · 816 阅读 · 0 评论