自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 ios command

dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ });lipo

2019-11-22 16:32:59 64

原创 android cmd

git merge --no-ff xxxxselect * from instanceof android.app.Activity 内存泄露adb logcat -v time | grep ActivityManager 页面启动时间 adb logcat | grep Timeline页面启动时间(Miui)adb logcat -v time | grep AndroidR...

2019-11-22 16:32:43 1003

原创 图片格式

bmp:无损, 体积大, 1/4/8/24位gif:8位, 无透明, 帧动画jpg/jpeg:有损, 24位, 渐进式png:无损, 8/24/32位, 渐进式,8位透明通道

2018-11-21 17:40:54 84

原创 git操作

拉分支git br release-x.x.xgit push origin release-x.x.xgit co release-x.x.xgit push origin release-x.x.xgit co mastergit ls release-x.x.xgit cherry-pick commit-id-xxxgit push origin master从指...

2018-08-09 12:15:34 139

原创 linux command

openssl req -noout -text -in xxxx.csr.pem

2017-10-25 11:45:43 422

原创 ios/mac command

Start Jenkins: sudo launchctl load /Library/LaunchDaemons/org.jenkins-ci.plistStop Jenkins: sudo launchctl unload /Library/LaunchDaemons/org.jenkins-ci.plist

2017-10-11 21:19:08 340

原创 iOS jenkins配置

Execute shell/usr/local/bin/pod install

2017-10-10 14:19:41 523

原创 iOS App启动流程

UIApplicationMain 创建Application和AppDelegate,启动消息循环the App Launch Sequence on iOS

2017-08-14 15:26:46 288

转载 iOS架构

iOS architecture

2017-08-11 15:55:26 329

原创 git-flow的分支管理 (Git branching model)

Git Flow Workflow Git branching model

2017-04-17 11:25:01 448

原创 App的质量问题

crash crash次数 crash率(crash数/启动数) crash覆盖人数启动速度 <1s miui: adb logcat|grep Timeline android: adb logcat|grep ActivityManager TraceView内存 内存泄露 Dump HPROF File

2017-04-06 11:46:25 569

原创 Https的安全性

Https握手(验证证书-&gt;交换密钥): 证书防伪造(签名验证), 防篡改(签名验证), 防替换(域名验证), 防假冒(解不开密钥)Https通信: 放窃听(对称加密), 防篡改(签名), 防重放(序列号)Https的双向认证服务器认证: 验证服务器证书(证书链)+验证私钥(协商密钥)客户端认证: 验证客户端证书(证书链)+验证私钥(验证客户端签名)

2017-04-05 15:53:39 468

原创 android的指纹问题

检查逻辑//是否支持指纹if (!fingerprintManager.isHardwareDetected()) { return;}//权限if (ActivityCompat.checkSelfPermission(this, Manifest.permission.USE_FINGERPRINT) != PackageManager.PERMISSION_GRANTED) {

2017-03-31 13:14:16 1351

原创 加解密+签名+证书

密钥依赖密钥而不依赖加密算法(私有的加密算法不靠谱)密钥长度决定密钥空间和加解密速度CEK:内容密钥 KEK:密钥的密钥盐(随机数):防字典(攻击)对称加密:密钥配送问题加密模式(加密数据有可能比一次能加密的长度长)分组加密:分组迭代加密 (加密的长度有限制),分组模式ECB、CBC、CFB、OFB、CTR流加密:直接整体加密加解密RSA:大整数的质数分解(非对称) 加密(e,n):msg^e

2017-03-29 16:31:00 644

原创 android的签名问题

SHA-512SHA-384SHA-256SHA1DSARSAEC

2016-12-05 11:49:05 1461

原创 Bitmap的内存占用

realWidth = rawWidth * (targetDensity / density);realHeight = rawHeight * (targetDensity / density);memory = realWidth * realHeight * pixelSizetargetDensity: 屏幕密度density: 图片密度(xhdpi/xxhdpi/...)pixe

2016-07-08 13:47:34 534

原创 android 渲染流程

measure (first|layoutRequest) (main thread) onMeasure setMeasuredDimensionlayout (first|layoutRequest) (main thread) setFrame onLayoutdraw (dirty|animation) (main threa

2016-01-11 21:36:31 964

原创 ASCII + Url + Base64

Url path: space->%20 +queryString: space->+/%20 +->%2BBase64

2015-10-22 18:29:26 556

原创 android studio import android-source-code

mmm development/tools/idegen/ (out/host/linux-x86/framework/idegen.jar)sh development/tools/idegen/idegen.sh

2015-10-08 10:31:54 886

原创 mac编译android-6.0.0

(0)repo init -u https://android.googlesource.com/platform/manifest -b (1)hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 100g ~/workspace/android.dmg(2)function mountAndroid

2015-10-06 18:47:27 2291 3

原创 android gradle build process

http://tools.android.com/tech-docs/new-build-system/build-workflow

2015-06-21 15:55:48 899

原创 android studio debug framework

make android source codemmm development/tools/idegen/. development/tools/idegen/idegen.shOpen an existing Android Studio project from ANDROID_ROOTANDROID_STUDIO_HOME/bin/studio64.vmoptions -Xms7168m

2015-06-19 17:26:36 3585 2

转载 android进程 系统启动过程 android boot sequence

2014-08-28 23:51:57 726

转载 Android架构

1、架构图直观 2、架构详解 2.1、Linux Kernel 2.1、Android Runtime 2.3、Libraries 2.4、Application Framework 2.5、Applications 3、总结 1、架构图直观下面这张图展示了Android系统的主要组成部分:图1、Android系统架构(来源于:android sdk)可以很明显看出,Android系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libra

2010-09-25 14:56:00 2041

原创 Android和IOS打开文档

IOS:WKWebView直接打开Android:腾讯X5内核TbsReaderView mTbsReaderView = new TbsReaderView(this, this);RelativeLayout mRelativeLayout = findViewById(R.id.tbsViewContainer);mRelativeLayout.addView(mTbsReaderView, new RelativeLayout.LayoutParams(-1, -1));Bundle

2020-05-26 17:49:59 63

原创 命令行实现SMTP和IMAP

telnet smtp.qq.com 25ehlo USERNAMEauth login用户名的Base64密码的Base64telnet imap.qq.com 1431 login USERNAME@qq.com 密码2 select INBOXopenssl s_client -connect imap.qq.com:993 -crlf

2020-05-21 17:07:51 81

原创 WireShark抓浏览器的https包

定义shell变量export SSLKEYLOGFILE=~/.ssl-key.log配置WireSharkWireShark-&gt;Preferences-&gt;Protocols-&gt;TLS-&gt;(Pre)-Master-Secret log filename填入~/.ssl-key.logshell启动浏览器Chromeopen -a 'Google Chrome'

2020-05-21 12:03:30 87

原创 itms-services 格式

url格式必须为https://xx.xx.xx/*/xxx.plist不能加QueryString

2020-03-12 19:48:47 77

原创 ios企业版更新

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];itms-services://?action=download-manifest&amp;url=https%3A%2F%2Fxxxx.xxxx.com%2Fxxxx%2Fxxxx.plist

2020-03-10 13:05:43 106

转载 ios后台机制

后台任务分类首先 Apple 官方为我们界定了 3 类后台执行任务的场景:正常:APP切换到后台有5秒时间Background Tasks:APP 在前台时启动某项任务,然后在未结束之前突然 切换到了后台,那么 APP 可以在切换回调里使用某些 API 来继续向系统请求一些时间来继续完成这个任务;完成之后通知系统,之后系统会将 APP 挂起;Downloading:在后台启动从网络下载文...

2019-11-22 16:34:28 86

原创 android 权限检查

private void checkPermission(String[] grantResultPermissions, int[] grantResults, final AsyncCallback&lt;Void, Error&gt; callback) { boolean isAllGranted = true; for (String permis...

2019-08-07 14:15:35 54

原创 无法查看BEGIN RSA PUBLIC KEY(unable to load Public Key)

xxxx.pem-----BEGIN RSA PUBLIC KEY-----MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2nOHd1wHuFXK4Zpxwl2sQRg//CF6w9DdgYhhuW3XHj8PUaedqaG842WdTm5vFKp9F9+Gga3kgleEiBiqtzXA7cLPXorCHnyHQY1H+9OAuJWkV/blqS...

2019-07-01 18:09:14 1559

原创 Charles调试Https iOS

iphone wifi 设置代理iphone访问https://chls.pro/ssl 安装charles根证书 通用-&gt;描述文件与设备管理-&gt;安装Charles根证书 通用-&gt;关于本机-&gt;证书信任设置-&gt;针对根证书完全信任Charles菜单栏 -&gt; Proxy -&gt; SSL Proxying Settings -&gt...

2019-07-01 13:51:34 155

原创 ios重签名iReSign

https://github.com/maciekish/iReSign

2019-05-29 16:34:48 558

原创 长连接

http普通连接:请求完即关闭tcp连接http长连接:请求完不关闭tcp连接,有个超时tcp普通连接:三次握手+四次挥手tcp长连接:心跳包Android 架构之长连接技术...

2018-12-06 16:24:03 218

原创 BLE协议栈

https://www.race604.com/android-ble-in-action/

2018-12-04 16:31:09 92

原创 CSV适用于表格式数据, Json适用于接口和配置文件

CSV for representing tabular data, widely used in database import/export, spreadsheet applications and copy/paste-able on every desktop operating system; and JSON for APIs and configuration files

2018-10-20 12:53:41 271

原创 蓝牙相关经验

蓝牙(经典/Ble)的系统配对:建立一个安全通道(协商一个对称密钥)

2018-10-19 15:15:02 168

原创 iMac建立到服务器的反向ssh

/Library/LaunchAgents/com.xxxx.jenkins.autosshd.plist&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&amp;lt;!DOCTYPE plist PUBLIC &quot;-//Apple Computer//DTD PLIST 1.0//EN&quot; &quot;http://www.apple.com/DTDs/Property...

2018-08-06 10:51:44 123

原创 CMakeList下打印log

#define TAG "xxxx" #define LOGD(...) __android_log_print(ANDROID_LOG_DEBUG,TAG,__VA_ARGS__) target_link_libraries(xxxx_modudle_name android log)

2018-01-03 16:49:30 2932

提示
确定要删除当前文章?
取消 删除