摘要: 1、参考文章:https://developer.android.com/studio/profile/battery-historian.html这篇文章讲的是如果dump 电量日子文件batterystats.txt,然后使用historian.py将其转化为html文件,让开发者更直接多了解其中信息。但是historian已经升级到2.0了,不在使用python来做数据分析,而是直接使... 阅读全文
posted @ 2016-08-27 17:30 lipeil 阅读(1122) 评论(0) 推荐(0) 编辑
摘要: 插件下载地址 使用说明: 阅读全文
posted @ 2016-08-24 11:31 lipeil 阅读(1035) 评论(0) 推荐(0) 编辑
摘要: 字符集(Charset):是一个系统支持的所有抽象字符的集合。字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。 字符编码:是一套规则,将字符和二进制数据建立映射关系。 按照出现的时间: 1、ASCLL(American Standard Code for Informatio 阅读全文
posted @ 2016-08-20 13:58 lipeil 阅读(335) 评论(0) 推荐(0) 编辑
摘要: jarsigner -verify app_signed.apk 查看是否签名,如果已经签名会打印 "jar verified". jarsigner -verify -verbose -certs app_signed.apk 查看签名详细信息。 2、签名命令: jarsigner -verbos 阅读全文
posted @ 2016-08-17 16:37 lipeil 阅读(3109) 评论(0) 推荐(0) 编辑
摘要: http://geek.csdn.net/news/detail/94003 Multiplexing:支持一个TCP连接上同时实现多个请求和响应。 阅读全文
posted @ 2016-08-09 12:13 lipeil 阅读(2427) 评论(0) 推荐(0) 编辑
摘要: 1、Looper 的构造方法是私有的,不能在package外面直接初始化。一般通过Looper.prepare()初始化、Looper.myLooper()获取。2、Looper 中的静态变量 ThreadLocal,用来保存所有Looper实例。3、ThreadLocal 本身只是一个工具类,没有用来保存数据的成员变量。用来保存数据的是其内部类 Values。 阅读全文
posted @ 2016-08-05 15:00 lipeil 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 参考网站: http://blog.csdn.net/q199109106q/article/details/8655204 阅读全文
posted @ 2016-08-04 14:44 lipeil 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 1、 http://www.52codes.net/article/658.html 2、http://my.oschina.net/sammy1990/blog/388846 3、http://stormzhang.com/android/2015/03/01/android-reference- 阅读全文
posted @ 2016-07-27 18:32 lipeil 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 1、https的握手协议: http://blog.csdn.net/clh604/article/details/221799072、证书的概念:http://blog.csdn.net/sealyao/article/details/57617473、详细解释证书:http://www.cnblogs.com/JeffreySun/archive/2010/06/24/1627247.htm... 阅读全文
posted @ 2016-07-05 11:45 lipeil 阅读(8479) 评论(0) 推荐(0) 编辑
摘要: 1、http://blog.csdn.net/fengyuzhengfan/article/details/43876489 混淆2、http://my.oschina.net/fallenpanda/blog/373183?p={{page}} 多渠道签名3、http://blog.csdn.net/ljchlx/article/details/43059467 多渠道签名4、http... 阅读全文
posted @ 2016-07-04 20:26 lipeil 阅读(425) 评论(0) 推荐(0) 编辑
摘要: 在Android Studio中同时按下Ctrl + Shift+ F 或者其他自定义的快捷键,打开全局搜索,在全局搜索中输入 ^((?!(\*|//)).)+[\u4e00-\u9fa5] 并打勾搜索框的Regular Expression(正则表达式),然后开始搜索,就会找出程序所有的硬编码了。 阅读全文
posted @ 2016-06-30 12:15 lipeil 阅读(2814) 评论(0) 推荐(0) 编辑
摘要: 问题描述: 阅读全文
posted @ 2016-04-28 11:49 lipeil 阅读(1696) 评论(0) 推荐(0) 编辑
摘要: http://my.oschina.net/u/255456/blog/523659?fromerr=oGosxKBf LeakCanary 只是探测到可能出现内存泄露,然后dump 一个java heap 快照,然后由程序员自己使用Mat工具定位泄露。Mat 下载地址 https://www.eclipse.org/mat/downloads.phpLeakCanary 使用介绍:... 阅读全文
posted @ 2016-04-26 20:10 lipeil 阅读(1662) 评论(0) 推荐(0) 编辑
摘要: 1、编译ffmpeg 2、参考demo实现推流 阅读全文
posted @ 2016-04-26 15:24 lipeil 阅读(3164) 评论(0) 推荐(0) 编辑
摘要: http://blog.csdn.net/tikitoo/article/details/51089422 阅读全文
posted @ 2016-04-08 11:43 lipeil 阅读(147) 评论(0) 推荐(0) 编辑
摘要: 1、LocalSocket + MediaRecorder + librtmp 阅读全文
posted @ 2016-04-08 11:42 lipeil 阅读(1395) 评论(0) 推荐(0) 编辑
摘要: 参考链接:http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2016/0111/3859.html MemoryFile 分配的内存不占用Java堆内存,在4.4系统以下甚至不占用App内存。4.4以上系统App内存统计计入了Ashmem内存 阅读全文
posted @ 2016-03-24 19:45 lipeil 阅读(637) 评论(0) 推荐(0) 编辑
摘要: 参考链接 https://tinypng.com/developers/reference/python 1、安装 2、使用python脚本压缩图片 3、注册获取key 4、例如: 阅读全文
posted @ 2016-03-21 11:26 lipeil 阅读(815) 评论(0) 推荐(0) 编辑
摘要: 参考链接 http://blog.csdn.net/brokge/article/details/8543145 一、严苛模式-虚拟机策略 StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder() .detectLeakedSqlLiteObj 阅读全文
posted @ 2016-03-18 15:14 lipeil 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 设置了代理之后下载速度完全不是一个数量级 参考链接:http://www.cnblogs.com/sunzn/p/4242131.html 阅读全文
posted @ 2016-03-17 11:51 lipeil 阅读(1717) 评论(0) 推荐(0) 编辑
摘要: 1、IP地址在192.168.0.0--192.168.255.255之内的是私有地址,即192.168.1.56的电脑a是不能直接与192.168.1.56的电脑b进行通信的。他们需要用到NAT技术,即网络地址转换。2、NAT的作用是把内网的私有地址,转化成外网的公有地址。使得内部网络上的(被设置为私有IP地址的)主机可以访问。就像电脑a是北京四合院的一个住户,他要给B通信时写的地址是自己四合... 阅读全文
posted @ 2016-03-16 11:21 lipeil 阅读(4182) 评论(0) 推荐(0) 编辑
摘要: 一、Traceview 目的:找到hotspot,主要包括两种类型的函数: 1、一类是调用次数不多,但每次调用却需要花费很长时间的函数。在示例代码中,它就是hotspot 1。 2、一类是那些自身占用时间不长,但调用却非常频繁的函数。在示例代码中,它就是hotspot 2。 Profile Pane 阅读全文
posted @ 2016-03-15 11:06 lipeil 阅读(931) 评论(1) 推荐(0) 编辑
摘要: 1、APP攻击大致策略 对APP进行攻击的一般思路包括反编译APP代码、破解APP通讯协议、安装虚拟机自动化模拟: a、首先看能否反编译APP代码(例如Android APP),如果能够反编译,从代码层面理清APP业务逻辑(例如新用户注册),则直接在攻击软件中模拟此部分逻辑,相对于破解通讯协议及安装 阅读全文
posted @ 2016-03-03 09:55 lipeil 阅读(1781) 评论(0) 推荐(0) 编辑
摘要: 消耗电量的几个主要原因、功能:1、大数据量的网络传输(网络)2、不停的网络切换(网络)3、解析大量的数据(CPU) 关于网络方面的优化: 1、网络请求之前,检查网络连接。没有网络连接不进行请求 2、判断网络类型,针对特定的数据在特定的网络下请求。例如:大量数据传输的时候,在wifi下请求。wifi下 阅读全文
posted @ 2016-02-27 14:55 lipeil 阅读(4923) 评论(0) 推荐(0) 编辑
摘要: 1、其下载之后的存放地址 例如:compile 'com.qiniu:happy-dns:0.2.5' 存放在:.gradle\caches\modules-2\files-2.1\com.qiniu\happy-dns\0.2.5\c0ee8266504682a0e500d95d849a5af94 阅读全文
posted @ 2016-02-26 12:29 lipeil 阅读(1295) 评论(0) 推荐(1) 编辑
摘要: 1、多核硬件上,java中同一个进程的多个线程可以运行在不同的CPU上么? 应该是可以的,在eclipse上面跑一个模拟程序,一个死循环的线程可以占用系统(4核,Win7)25%的CPU,4个这样的线程刚好占用100%。 这可以从侧面说明线程是可以被分配到不同的核。当然要考虑具体的系统 2、andr 阅读全文
posted @ 2016-02-21 11:04 lipeil 阅读(364) 评论(0) 推荐(0) 编辑
摘要: 1、注册支付宝平台账号2、申请实名认证3、创建应用4、开通支付功能(移动支付) 2、支付报错误:error 4000 系统繁忙,请稍后再试:原因是在主线程调用的接口,改为在子线程调用,就OK了 3、error ALI64错误服务器做签名的时候,没有将‘+’等特殊字符转码 总结:1、支付宝支付功能的集 阅读全文
posted @ 2016-01-29 15:11 lipeil 阅读(358) 评论(0) 推荐(0) 编辑
摘要: 1、Android studio 文件结构:https://www.aswifter.com/2015/07/07/android-studio-project-struct/2、Android studio 快捷键:http://blog.csdn.net/altair86/article/det... 阅读全文
posted @ 2016-01-19 16:38 lipeil 阅读(430) 评论(0) 推荐(0) 编辑
摘要: 1、注册微信开放平台账号--》创建应用--》申请开通支付功能链接:https://open.weixin.qq.com/2、下载微信支付Demo链接:https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_13、App内嵌入微信支付a、注册... 阅读全文
posted @ 2016-01-14 15:08 lipeil 阅读(2069) 评论(0) 推荐(1) 编辑
摘要: 参考链接:http://www.csdn.net/article/2015-12-10/2826435 阅读全文
posted @ 2015-12-15 10:26 lipeil 阅读(180) 评论(0) 推荐(0) 编辑
摘要: package com.joyodream.common.view;import android.content.Context;import android.graphics.Canvas;import android.graphics.Paint.Style;import android.tex... 阅读全文
posted @ 2015-12-08 15:35 lipeil 阅读(345) 评论(0) 推荐(0) 编辑
摘要: 参考链接:http://blog.csdn.net/dreamzml/article/details/9951577简单来说前者适合静态、少量的Fragment后者适合动态、较多的Fragment 阅读全文
posted @ 2015-12-07 20:04 lipeil 阅读(368) 评论(0) 推荐(0) 编辑
摘要: 1、重新开一个Activity重新开一个透明的activity 2、使用全屏的Dialog使用透明、全屏、无标题的Dialog,自定义的View另外可以使用paddingBottom 和背景分离的方案,让 输入框完美弹起 阅读全文
posted @ 2015-12-07 15:23 lipeil 阅读(872) 评论(0) 推荐(0) 编辑
摘要: 1、功能:给所有的有id的控件添加注解 2、github地址 3、插件下载地址 4、安装 5、补充: 阅读全文
posted @ 2015-11-18 17:42 lipeil 阅读(1277) 评论(0) 推荐(0) 编辑
摘要: 1、功能:能够一键声明layout文件中的所有注明id的控件,节省时间2、github地址https://github.com/Haehnchen/idea-android-studio-plugin3、插件下载地址http://plugins.jetbrains.com/plugin/74054、... 阅读全文
posted @ 2015-11-18 16:58 lipeil 阅读(1929) 评论(0) 推荐(0) 编辑
摘要: 1、选择喜欢的主题 http://color-themes.com/?view=index好几十款,总有一款你喜欢 2、下载你喜欢的主题,注意是jar文件 1、File -> Import Settings... 2、然后选择你下载的jar文件,重启OK 3、android studio 主题修改 阅读全文
posted @ 2015-11-18 11:17 lipeil 阅读(2292) 评论(0) 推荐(0) 编辑
摘要: ... 阅读全文
posted @ 2015-11-16 11:37 lipeil 阅读(1076) 评论(0) 推荐(0) 编辑
摘要: 参考链接: 1、http://blog.csdn.net/bboyfeiyu/article/details/117104972\ http://www.cnblogs.com/LittleRedPoint/p/3429709.html 第一步:编写接口 package com.lpl; publi 阅读全文
posted @ 2015-11-10 12:18 lipeil 阅读(559) 评论(0) 推荐(0) 编辑
摘要: 键盘消息处理模型:1、WMS统一管理Window, 它包含了InputManager变量,其对应c++层的NativeInputManager2、c++层的NativeInputManager包含 inputManger类型变量,3、c++层的InputManager对象包含InputReader、... 阅读全文
posted @ 2015-10-26 15:07 lipeil 阅读(577) 评论(0) 推荐(0) 编辑
摘要: 消息处理机制:1、MessageQueue: 用来描述消息队列2、Looper:用来创建消息队列3、Handler:用来发送消息队列初始化:1、通过Looper.prepare()创建一个Looper对象,并将Looper对象保存到sThreadLocal静态变量中(其实是保存到了当前线程的Thre... 阅读全文
posted @ 2015-10-23 21:00 lipeil 阅读(337) 评论(0) 推荐(0) 编辑