腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
腾讯云架构师技术同盟
返回腾讯云官网
码农帮派
专栏成员
举报
66
文章
65046
阅读量
16
订阅数
订阅专栏
申请加入专栏
全部文章(66)
编程算法(26)
python(16)
android(14)
java(7)
tcp/ip(7)
消息队列 CMQ 版(6)
kafka(6)
linux(5)
socket编程(5)
api(4)
unix(4)
网站(4)
缓存(4)
爬虫(4)
html(3)
http(3)
jvm(3)
dns(3)
php(2)
javascript(2)
go(2)
jquery ui(2)
打包(2)
腾讯云测试服务(2)
udp(2)
ui(2)
DNS 解析 DNSPod(1)
c 语言(1)
c++(1)
bash(1)
node.js(1)
jquery(1)
json(1)
typescript(1)
listview(1)
单片机(1)
数据库(1)
云数据库 SQL Server(1)
sqlite(1)
jar(1)
NAT 网关(1)
SSL 证书(1)
移动解析 HTTPDNS(1)
高性能计算(1)
serverless(1)
存储(1)
网络安全(1)
正则表达式(1)
numpy(1)
面向对象编程(1)
单元测试(1)
机器人(1)
windows(1)
https(1)
nat(1)
rust(1)
dart(1)
性能测试(1)
bind(1)
handle(1)
int(1)
matplotlib(1)
panel(1)
set(1)
surface(1)
target(1)
thread(1)
view(1)
wxpython(1)
生命周期(1)
手机(1)
搜索文章
搜索
搜索
关闭
Android实现摇一摇触发逻辑
bind
手机
下面的代码主要控制手机摇晃的程度,在摇晃到一定成的时候,才会触发摇一摇回调,重点在于如何保证摇一摇的触发既不能太灵敏,也不能太迟钝。
码农帮派
2021-04-22
2.7K
0
Android Framework用到了哪些进程通信(IPC)的方式
bash
android
socket编程
unix
半双工,单向的 (一个管道要么只能读,要么只能写,数据的读/写是单向的,要想实现既能读又能写,就需要使用两个管道来完成)
码农帮派
2021-02-25
724
0
Binder跨进程通信的流程
tcp/ip
linux
socket编程
上图是一次binder调用的通信流程,Client是应用进程,Server是系统服务,应用进程通过binder调用请求系统服务,Client向binder驱动发送BC_Transaction指令,binder在收到该指令指令之后回向Client返回BR_Transaction_Complete指令,同时binder驱动会向系统服务发送BR_Transaction指令,并等待系统服务的处理,系统服务处理完成之后会向binder发送BC_Reply的回持,binder驱动在收到系统服务的回执之后,也会向系统服务发送BR_Transation_Complete的回执,同时向应用进程发送BR_Reply,将处理结果发送给应用进程。
码农帮派
2021-02-25
589
0
Android中的热修复
编程算法
android
java
在运行时替换掉底层有Bug的方法的地址,将他们的指针指向修复之后的方法的内存地址,从而实现热修复的功能。
码农帮派
2021-02-25
2K
1
Android类加载之双亲委派机制
android
jvm
编程算法
我们定义一个CustomClassLoader加载器,去加载String.class文件的流程如下:
码农帮派
2021-02-25
1.7K
0
说说Activity的启动流程
socket编程
unix
Activity是一个组件,组件的启动是要通过AMS的,和Application的启动一样,Activity的启动也会涉及到AMS、Zygote以及应用进程之间的socket通信以及Binder调用。
码农帮派
2021-02-25
572
0
Handler面试八问
android
消息队列 CMQ 版
kafka
线程启动之后,进入main()方法,在main()方法中进行线程的一些初始化,初始化工作完成之后,会调用Looper.loop()进行消息监听,而loop()方法是一个死循环,从而保证线程不会立即退出:
码农帮派
2021-01-28
1.2K
0
说说ThreadLocal的原理
java
android
存储
消息队列 CMQ 版
kafka
我们在线程中使用Handler之前,需要调用Looper的prepare方法进行Looper初始化,否则会抛出异常,说Looper不存在,其实我们在调用prepare方法的时候,就是为当前的线程创建一个Looper对象,并存储到这个线程的ThreadLocal变量中,在后续创建Handler的时候,会从当前线程的ThreadLocal变量中读取这个Looper,进行消息传递。一个线程中只有一个sThreadLocal变量,因此也只有一个Looper对象(对应着只有一个MessageQuque消息队列),所以线程中声明多个Handler对象处理消息的时候,都是使用同一个Looper和同一个MessageQueue消息队列。
码农帮派
2021-01-28
451
0
笔记13 - Android中的内存泄漏如何优化
android
java
c++
Activity承载了应用和用户交互的任务,在Activity中有大量的资源引用和上下文Context这样占用内存较大的资源对象,因为Activity一旦因为外部变量的持有,就会造成比较严重的内存泄漏。造成Activity内存泄漏的场景有以下:
码农帮派
2021-01-28
1.4K
0
Android中怎么跨进程传输大图片
编程算法
android
缓存
socket编程
1. 将图片保存在固定的位置,将存储位置信息跨进程发送给其他进程,其他的进程读取图片文件
码农帮派
2021-01-28
2.9K
0
笔记11 - Android touch事件分发时机
网络安全
编程算法
ViewGroup是一组View的组合,在其内部会包含多个子View,当用户点击屏幕的时候,点击的位置可能在ViewGroup上,也可能在其内部View控件上。
码农帮派
2021-01-14
848
0
说说idleHandler的原理
android
消息队列 CMQ 版
kafka
首先看一下IdleHandler接口的定义,从上面的定义可以看到,IdleHandler的触发时机是当前线程的消息队列中没有消息,或消息队列中的消息尚未到处理的时间,这时就会触发IdleHandler的queueIdle方法。
码农帮派
2021-01-14
1.3K
0
笔记12 - 对于网络编程,做过的优化?
dns
tcp/ip
移动解析 HTTPDNS
首先是防劫持,我们可以使用HttpDns,它与传统的DNS解析相比,HttpDns会绕开运营商的DNS服务器,直接与DNS服务器的80端口进行交互,可以有效的防止域名劫持。
码农帮派
2021-01-14
860
0
Handler中的消息屏障
消息队列 CMQ 版
kafka
android
Handler中的消息队列如上图所示,是一个单链表,各个消息按照执行时间先后排列,消息类型分为三种:普通消息(normal)、屏障消息(barrier)、异步消息(async)。
码农帮派
2021-01-14
1.4K
0
LeetCode中级算法-数学(2)
int
target
使用二分查找,需要注意的是因为只保留整数部分,我们找到平方根的平方结果只可能小于target,基于以上的分析,在二分查找的时候,在缩小范围的时候,要是结果小于target都进行缓存,这样保证有结果
码农帮派
2021-01-12
276
0
WebRTC NAT穿越原理
nat
NAT 网关
tcp/ip
NAT虽然带来了不少的好处,但是也增加了端对端直接通信的难度,NAT使得端对端的通信方式在某些场景下只能通过中转服务器进行交互。
码农帮派
2021-01-12
939
0
Android线程间消息传递机制
android
消息队列 CMQ 版
kafka
上图是消息循环的过程,当线程进入Looper.loop()循环之后,会从MessageQueue中阻塞的读取Message,要是MessageQueue中没有消息,会一直阻塞在queue.next的地方,直到从MessageQueue中读取到Message,然后将该Message分发给Message的target,这个target是一个Handler的实例。
码农帮派
2021-01-12
845
0
笔记10 - DVM或ART是如何对JVM进行优化的
android
单片机
jvm
打包
jar
DVM大多数实现和传统的JVM相似,但是为了满足Android在手机端内存的限制,Dalvik对JVM做了一些独有的优化。
码农帮派
2021-01-12
724
0
Handler的消息延时是怎么实现的
消息队列 CMQ 版
kafka
android
linux
通常我们使用Handler的消息延时都是调用sendMessageDelayed函数实现的,其中delayMillis是需要延时的毫秒。
码农帮派
2021-01-12
2.4K
0
LeetCode中级算法-数学(1)
编程算法
「快乐数」定义为:对于一个正整数,每一次将该数替换为它每个位置上的数字的平方和,然后重复这个过程直到这个数变为 1,也可能是 无限循环 但始终变不到 1。如果 可以变为 1,那么这个数就是快乐数。
码农帮派
2021-01-12
322
0
点击加载更多
社区活动
Python精品学习库
代码在线跑,知识轻松学
立即查看
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
立即体验
技术创作特训营·精选知识专栏
往期视频·干货材料·成员作品 最新动态
立即查看
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档