1.traceroute 是一个简单的网络诊断工具,可以列出分组经过的路由节点,以及它在 IP 网络中每一跳的延迟。为找到每一跳的节点,它会向目标发送一系列分组,每 次发送时的“跳数限制”都会递增(1、2、3,等等)。在达到跳数限制时,中间 的节点会返回 ICMP Time Exceeded 消息,traceroute 根据这个消息可以计算出每 一跳的延迟。
在 Unix 平台上,可以在命令行运行 traceroute。而在 Windows 平台中,相应的 命令叫 tracert。
2. http://speedtest.net, 可以测试客户端到某个本地服务器的上传和下载速度
直播Player
IJK:https://github.com/CarGuo/GSYVideoPlayer
Bilibili:https://github.com/bilibili/ijkplayer
VLC-TCP
http://www.itnotepad.cn/Home/Article/num/322.html
Error establishing a database connection
到数据库日志目录下查看报错信息
/var/log/mysqld.log
或/usr/local/mysql/data/下的.err文件
结果发现数据库关了,重启了下服务器。
安卓分析工具
卡顿分析:
1.traceview:程序执行流程;
2.systrace:系统调用;
3.simpleperf:native耗时
内存泄漏:
leakCanary
腾讯开源:
matrix
获取应用内存
获取内存使用信息:adb shell dumpsys meminfo 包名
内存泄漏分析:https://mp.weixin.qq.com/s/KtGfi5th-4YHOZsEmTOsjg?
1.Activity 泄漏;
2.bitmap泄漏;
3.native泄漏;
4.线程监控
启动广播
强制停止的应用,启动广播添加:sendBroadcast(new Intent(BROADCASTER_LOCKSCREEN).addFlags(
Intent.FLAG_INCLUDE_STOPPED_PACKAGES));
Android webview audio显示不出
改成:
android view 画线优化
1.在move事件中获取历史所有点,然后绘制
case MotionEvent.ACTION_MOVE:
float x = event.getX();
float y = event.getY();
int historySize = event.getHistorySize();
for (int i = 0; i < historySize; i++) {
float historicalX = event.getHistoricalX(i);
float historicalY = event.getHistoricalY(i);
float dx = Math.abs(historicalX - mx);
float dy = Math.abs(historicalY - my);
if (dx >= 2 || dy >= 2) {
trajectory.path.quadTo(mx, my, (historicalX + mx) / 2, (historicalY + my) / 2);//绘制线条轨迹
mx = historicalX;
my = historicalY;
}
}
2.invalidate指定区域:
invalidate(left, top,right,bottom);
django 2.0 urls
path(‘show/page
path(‘show/
path(‘showname/’,views.do_param,{“name”:”luojia”}),
注:参数都要与方法中定义的传参名一样
re_path兼容老版本