- 博客(29)
- 资源 (3)
- 收藏
- 关注
原创 sendBroadCast 时 AMS 的checkBroadcastFromSystem方法
每日一记 sendBroadCast 时 AMS 的checkBroadcastFromSystem方法(Android版本11.0.0)private void checkBroadcastFromSystem(Intent intent, ProcessRecord callerApp, String callerPackage, int callingUid, boolean isProtectedBroadcast, List receivers) { /
2021-07-02 18:52:55
691
原创 sendBroadCast 时经过 AMS 的 verifyBroadcastLocked方法
每日一记 sendBroadCast 时经过 AMS 的 verifyBroadcastLocked方法(Android版本11.0.0)public final int broadcastIntentWithFeature(IApplicationThread caller, String callingFeatureId, Intent intent, String resolvedType, IIntentReceiver resultTo, int
2021-07-02 10:46:03
283
原创 framework 判断广播aciton isProtected
每日一记 framework 判断广播的aciton 是否 isProtected** @Override public boolean isProtectedBroadcast(String actionName) { // allow instant applications synchronized (mProtectedBroadcasts) { if (mProtectedBroadcasts.contains(actionName
2021-07-01 17:05:50
170
原创 记录源码 android.util.Singleton
android 源码中 用来实现单例的 工具类package android.util;import android.compat.annotation.UnsupportedAppUsage;/** * Singleton helper class for lazily initialization. * * Modeled after frameworks/base/include/utils/Singleton.h * * @hide */public abstract cla
2021-06-30 16:39:02
219
原创 Android measureSpec 怎么通过位运算 把两个值 放到一个int变量中
都知道 measureSpec 分为 mode 和sizemode 占2位,size占30位,组成一个 32位 的int 类型两个值 放到一个int 变量中的愿意是 view 会频繁测量 ,这样可以节省 内存空间mode 有三种/** * Measure specification mode: The parent has not imposed any constraint * on the child. It can be whatever size it w
2020-10-29 22:38:14
332
原创 使用 adb命令 写出抓取log 的小工具
ADB简介:ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Android Studio 已经将大部分 ADB 命令以图形化的形式实现了,但是了解一下还是有必要的。是Android 开发必备小技能Android studi
2020-10-22 19:29:13
1695
原创 java 怎么使用 设计模式对业务进行解耦(一)
最近非常头疼 ,到新公司碰到了 非常没有经验的产品,感觉产品经理和说相声一样,门槛很低,进了门才发现 楼梯在门里面,一层比一层难爬我是做Android开发的,目前还是使用java 作为开发语言,所以以java为例,归纳一下我的java 使用经验移动端的社交分享功能大家应该都用过,有一些公司早就 提供了免费的社交分享集成SDK,比如友盟,shareSdk为什么 已经有了 集成好的sdk 还会头疼呢,因为产品在 一个简单的分享功能上强行制造了 非常多逻辑分支,思维导图如下(还是我 为了抽象代码自己画的,产
2020-07-29 17:31:16
3926
1
原创 Windows下Jmeter压测端口占用问题
转载 李亚飞 大佬的文章:https://www.lyafei.com/前言今天测试和我分别压测了HTTP接口,他使用的是测试专用的8核16G压测服务器,所装系统是Windows,我使用的是开发机2核4G,运行环境是 CentOS,走内网压测不存在网络瓶颈,使用相同的测试计划,我压测出来的结果并发数是他的3倍,并且他的测试结果伴有1.7%错误,查看错误发现并不是接口返回,而是Jmeter报出来的。查了一波资料,发现 Windows 环境下的端口循环回收需要消耗2~4分钟。由此猜测可能是由于 Wind.
2020-07-15 20:40:00
5392
转载 Piwik在代理后端获取真实IP
转载 李亚飞 大佬的文章:https://www.lyafei.com/运维前几天把piwik切换到了Nginx后端,并且服务器加了HA 代理分发,piwik主机仅负责收集数据,包括数据库读写分离,但今天看了下数据发现所有来源IP都是代理IP,因为要对接大数据组,所以抓取丢给kafka的用户ip也都是代理ip,被大数据组骚扰了两天,今天就排查了下问题。首先是服务器location / { proxy_pass http://xxxx_piwik; proxy_set_.
2020-07-09 11:29:57
4900
转载 Konga管理GUI操作
转载 李亚飞 大佬的文章:https://www.lyafei.com/Konga管理GUI简介安装之前简单介绍安装了 Konga,并且进行了账号注册和设置连接,这篇就详细讲述下 Konga 的一些页面信息和使用操作。附上:Kong 官网:https://konghq.com/Kong GitHub地址:https://github.com/kong/kongkonga GitHub地址:https://github.com/pantsel/kongaKonga操作Dashboard.
2020-07-08 10:56:32
5710
1
转载 Kong网关工作原理及核心概念
转载 李亚飞 大佬的文章:https://www.lyafei.com/Kong网关简介安装之前简单介绍安装了 Kong,这篇就是深入 Kong 详细讲述下它的一些工作原理、核心概念。附上:Kong 官网:https://konghq.com/Kong GitHub地址:https://github.com/kong/kongKong的工作原理Kong默认开放的端口接收客户端流量的端口,proxy 部分:8000 —— http 端口:8443 —— https 端口adm.
2020-07-08 10:32:56
10147
1
转载 Konga管理GUI简介安装
转载 李亚飞 大佬的文章:https://www.lyafei.com/Kong网关简介安装前文介绍了 Kong 以及如何安装,Kong 虽然很强大,但是在管理方式上比较单一只能通过 API 请求来管理,那么有没有一个GUI 界面的管理工具呢?这里就要说到 Kong 的管理 GUI Konga。Why Konga?当前 Kong 的社区版是没有 dashboard 的,但是付费的企业版是有带的,并且还有一些企业版才能使用的插件以及升级后的企业版插件。所以对于使用社区版的用户而言,排除自己去撸一个.
2020-07-08 10:24:59
6119
转载 Kong网关简介安装
转载 李亚飞 大佬的文章:https://www.lyafei.com/背景我们有批设备卖给了海外的服务商,老外请了第三方检测机构,检测设备与我们系统的安全性,结果找到了近 40+ 的安全漏洞,有很大一部分的安全漏洞提炼出来,其实可以统一解决掉,因为涉及服务和安卓组件太多,如果一个一个修改,不管是时间还是人力投入都很巨大,那快速并且改动最小的方法就是从网关上解决这些问题。网关是微服务中不可或缺的一部分,它承载了所有请求流量入口,参数验证拦截,用户权限验证等,但是除了 JAVA 的 spring c.
2020-07-08 10:15:45
5861
转载 超实用压力测试工具-ab工具
转载 李亚飞 大佬的文章:https://www.lyafei.com/前言在学习ab工具之前,我们需了解几个关于压力测试的概念 。吞吐率(Requests per second)概念:服务器并发处理能力的量化描述,单位是reqs/s,指的是某个并发用户数下单位时间内处理的请求数。某个并发用户数下单位时间内能处理的最大请求数,称之为最大吞吐率。计算公式:总请求数 / 处理完成这些请求数所花费的时间,即Request per second = Complete requests / Time.
2020-07-07 11:18:03
5504
转载 Kong网关插件使用
转载 李亚飞 大佬的文章:https://www.lyafei.com/授权验证在接口请求中权限验证是一个恒久不变的话题,Kong 自带了6种加密方式先创建一个 Basic Auth,直接确认即可此时页面访问 http://dev.lyafei.com:8000/dev 会弹出登录框,让你输入用户名密码,若取消则会返回{“message”:“Unauthorized”},若输入用户名和密码后确认会返回 {“message”:“Invalid authentication credential.
2020-07-06 10:50:14
5765
转载 谈Kong网关插件
转载 李亚飞 大佬的文章:https://www.lyafei.com/今天的一个重点就是要加强对 Kong API Gateway 网关的研究,对于 Kong 网关之前写过两篇文章,今天重点谈下 Kong 网关的插件支持能力。从上面图可以看到,Kong 网关是基于 OpenResty 应用服务器,OpenResty 是一个基于 Nginx 与 Lua 的高性能 Web 平台,其内部集成了大量精良的 Lua 库、第三方模块以及大多数的依赖项。用于方便地搭建能够处理超高并发、扩展性极高的动态 Web.
2020-07-06 10:08:52
6018
转载 CentOS下php安装mcrypt扩展
转载 李亚飞 大佬的文章:https://www.lyafei.com/安装mcrypt先确认你的php和pecl版本[root@lyafei ~]# php -vPHP 7.2.26 (cli) (built: Dec 31 2019 17:01:19) ( NTS )Copyright (c) 1997-2018 The PHP GroupZend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies[root@lyafei .
2020-07-06 09:59:51
5349
1
转载 Kong插件开发向导
转载 李亚飞 大佬的文章:https://www.lyafei.com/简介前面洋洋洒洒写了那么多文章,Kong搭建、Konga搭建、Kong插件开发工具包、Lua算法实现等等,就为了这篇Kong插件开发铺垫,在进一步讨论之前,有必要再简要阐述下 Kong 是如何构建的,特别是它如何与 Nginx 集成,以及它与 Lua 脚本之间的关系。使用 lua-nginx-module 模块可以在 Nginx 中启用 Lua 脚本功能,Kong 与 OpenResty 一起发布,OpenResty 中已经包.
2020-07-04 10:29:18
5643
转载 Kafka consumer频繁reblance
转载 李亚飞 大佬的文章:https://www.lyafei.com/其实文章名可以叫 记一次线上 Kafka 问题排查,但觉得稀松平常,弄些术词显得硬核点,hhh,言归正传,线上一个 Go 服务是一组 Kafka 的消费者,在运行了很多天之后,Kafka 数据突然积压了,查看 Kafka 服务正常,查看 Go 服务也运行正常,进到 Go 服务容器内部查看日志,发现消费者的 Go 服务频繁 rebalance 并且大概率返回失败。因为我们所使用的 Kafka 分配的分区为3,所以 Go 服务 一个 .
2020-07-04 10:07:11
8459
转载 浅谈Laravel5框架的优化
浅谈Laravel5框架的优化转载 李亚飞 大佬的文章:https://www.lyafei.com/archives/14/前言Laravel是一个功能强大的框架,组件很多,代码也很庞大,它的易用方便是牺牲了性能的,即便如此它仍然是一个优秀的框架,性能一直是 Laravel 框架为人诟病的一个点,所以调优 Laravel 程序算是一个必学的技能。接下来分享一些开发的最佳实践,还有调优技巧,大家有别的建议也欢迎留言讨论。1. 配置信息缓存使用以下 Artisan 自带命令,把 config
2020-07-03 15:58:13
4955
转载 Kong的Url重写(rewrite)自定义插件
转载 李亚飞 大佬的文章:https://www.lyafei.com/archives/299/Kong的Url重写(rewrite)自定义插件昨天写了个地址重写的 Kong 自定义插件,跟大家分享下,话不多说,上代码schema.luareturn { no_consumer = true, fields = { regex = { type = "string" }, replacement = { type = "string" }, .
2020-07-03 15:40:44
7487
1
转载 Kong的日志记录(log)自定义插件
Kong的日志记录(log)自定义插件前天写了一个日志记录的插件,是将接口请求和返回的一些相关内容,以指定的数据格式写入到文件,方便大数据使用 Filebeat 读取,并显示在 ELK,话不多说上代码。schema.lualocal typedefs = require "kong.db.schema.typedefs"return { name = "file-log", fields = { { protocols = typedefs.protocols_http },
2020-07-03 11:55:32
8557
1
转载 android studio 使用 Memory Profiler 查看 Java 堆和内存分配(一)
转载 https://developer.android.google.cn/studio/profile/memory-profiler#profiler-memory-leak-detection?utm_source=androidweekly.io&utm_medium=website使用 Memory Profiler 查看 Java 堆和内存分配Memory Profile...
2020-04-27 19:57:00
7791
原创 android room 返回rxjava2 Flowable类型数据的时候,应该注意的点
android.arch.persistence.room:runtime:1.1.1 版本room 用gradle 插件生成的 impl 类,根据注解 生成具体的 实现方法return RxRoom.createFlowable返回的 Flowable 已经调用了 observerOn操作符 ,所以再调用 subscribeOn 操作符没有用了不能返回 observable 类型的...
2020-04-17 16:21:02
6121
原创 SurfaceView 和 TextureView 的区别与联系
android: View, SurfaceView, GLSurfaceView, TextureView 区别与联系区别与联系View: 显示视图,内置画布,提供了图形绘制函数、触屏事件、按键事件函数等,必须在UI主线程内更新画面,速度较慢;SurfaceView: 基于view视图进行拓展的视图类,更适合2D游戏的开发,是view的子类,使用了双缓冲机制,即:允许在子线程中更新...
2020-03-04 18:17:04
10094
原创 OkHttp 源码解析(二)打开 socket 请求
分析原因最近被问到okhttp 在性能上面 和 HttpUrlConnection ,volley 等框架有什么优势,回答不上来,其实之前看过 okhttp源码,一知半解,也没有做记录,现在知道后悔了OkHttp 源码怎么实现的http 请求呢上一章 分析设计模式,只要是用于对 okhttp 做初始化配置,到具体请求的实现 ,在责任链模式中 一层一层的调用完成从RealCall 的exec...
2020-03-03 17:09:32
5069
原创 OkHttp 源码解析(一)设计模式层面
分析原因最近被问到okhttp 在性能上面 和 HttpUrlConnection ,volley 等框架有什么优势,回答不上来,其实之前看过 okhttp源码,一知半解,也没有做记录,现在知道后悔了OkHttp 使用方式OkHttp官网地址:http://square.github.io/okhttp/OkHttp GitHub地址:https://github.com/square/o...
2020-02-21 10:19:52
5156
4
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人