苏玉波

移动端工程师


  • 首页

  • 标签

  • 归档

  • 搜索

腾讯性能监控框架Matrix源码分析之第一篇

发表于 2018-12-27 | 分类于 android | | 阅读次数:

腾讯性能监控框架Matrix源码分析之第一篇

概述

前几天腾讯将一款Android应用性能监控的框架matrix开源了,源码地址在https://github.com/Tencent/matrix,作者是微信终端团队。matrix到底是什么?据官方说法如下:
Matrix 是一款微信研发并日常使用的 APM(Application Performance Manage),当前主要运行在 Android 平台上。 Matrix 的目标是建立统一的应用性能接入框架,通过各种性能监控方案,对性能监控项的异常数据进行采集和分析,输出相应的问题分析、定位与优化建议,从而帮助开发者开发出更高质量的应用。
Matrix 当前监控范围包括:应用安装包大小,帧率变化,启动耗时,卡顿,慢方法,SQLite 操作优化,文件读写,内存泄漏等等(此段截取自matrix的GitHub介绍)
下面直接看源码:

阅读全文 »

python批量下载马拉松照片

发表于 2018-06-21 | 分类于 python | | 阅读次数:
源码地址: https://github.com/halibobo/runnerbar-image

前言

目前学习python几个月了,由于自己比较喜欢跑马拉松,已经跑过了很多场比赛,前些天就写了个简单的爬虫爬取了网上三千多场马拉松比赛的报名信息。
今年5月27日,我又参加了巴图鲁关门山壹佰越野50公里组的比赛,这里的“巴图鲁”源自蒙古语“英雄”的意思,这场比赛也是出了名的虐,地点在辽宁省本溪市 · 关门山国家森林公园,累计爬升3655m。当天早上六点准时出发,刚跑没多久就来了很长一段陡峭的台阶……此处省略一万字……最终经过很多小时的艰苦奋战完成了比赛。

阅读全文 »

Android组件化和插件化开发

发表于 2016-06-30 | 分类于 插件化 | | 阅读次数:

Android组件化和插件化开发

什么是组件化和插件化?

阅读全文 »

android MVP模式介绍与实战

发表于 2016-06-22 | 分类于 MVP模式 | | 阅读次数:

android MVP模式介绍与实战

描述


MVP模式是什么?MVP 是从经典的模式MVC演变而来,它们的基本思想有相通的地方:Controller/Presenter负责逻辑的处理,Model提供数据,View负责显示。

MVC和MVP的区别?

阅读全文 »

23种设计模式实例

发表于 2016-06-21 | 分类于 设计模式 | | 阅读次数:
源码地址: https://github.com/halibobo/DesignPattern

设计模式

关于

在软件工程中,设计模式(design pattern)是对软件设计中普遍存在(反复出现)的各种问题,所提出的解决方案。这个术语是由埃里希·伽玛(Erich Gamma)等人在1990年代从建筑设计领域引入到计算机科学的。
设计模式并不直接用来完成代码的编写,而是描述在各种不同情况下,要怎么解决问题的一种方案。面向对象设计模式通常以类别或对象来描述其中的关系和相互作用,但不涉及用来完成应用程序的特定类别或对象。设计模式能使不稳定依赖于相对稳定、具体依赖于相对抽象,避免会引起麻烦的紧耦合,以增强软件设计面对并适应变化的能力。
并非所有的软件模式都是设计模式,设计模式特指软件“设计”层次上的问题。还有其它非设计模式的模式,如架构模式。同时,算法不能算是一种设计模式,因为算法主要是用来解决计算上的问题,而非设计上的问题。

阅读全文 »

我的几个开源项目

发表于 2016-06-08 | 分类于 开源项目 | | 阅读次数:

我的几个开源项目

介绍

最近整理电脑里的文件,我前两年发现自己开发的一些demo,这里面包括有android的app、untiy的游戏、前公司的网站、windowsphone的游戏和应用等。这些项目有的已经两年多没动过了,一些项目最近一段时间也不会更新,与其烂在我的电脑里不如开源出来。于是我从中挑了几个开源出来,具体如下:

阅读全文 »

android声音检测仪---分贝仪

发表于 2016-05-26 | 分类于 Android | | 阅读次数:

android声音检测仪—分贝仪

【申明】未经博主同意,严禁转载

源码下载地址:https://github.com/halibobo/SoundMeter

背景

最近小区旁边工地施工,今一大早就被工地传来的guang!guang!…吵醒了。很响很响的那种,你们肯定会问具体有多响?具体要多响?怎么描述呢?顿时就萌生出开发一款记录声音响度的app,忙活了一下午于是就出了这个声音检测仪

简介

android端的声音检测程序,实时获取当前周围环境的声压级,也就是平常所说的分贝值

enter image description here

源码

声音采集利用系统的MediaRecorder

阅读全文 »

结合支付宝和微信首页巩固android事件分发机制

发表于 2016-05-26 | 分类于 Android | | 阅读次数:

结合支付宝和微信首页巩固android事件分发机制

源码地址 https://github.com/halibobo/TouchListenerConflict

android的事件分发和处理方式

对android开发有一定了解的同学一定或多或少知道android的触摸事件分发,整个事件的分发消耗流程都可以通过看源码理解,下面通过讲解demo帮助加深事件分发的理解和在实战中的应用。首先直接上demo截图:

enter image description here

demo布局

整个首页布局是这样的,最外层是ViewPager,里面包含四个子功能,每个子功能的视图都是一个Fragment。“功能1”里的列表项是一个GridView,此gridview外层是带有LinearLayout的ScrollView。
布局如下
enter image description here

难点分析和讲解

一、GridView高度问题

二、长按GridView某一项可以替换位置,最后一项“更多”不参与滑动与替换位置

三、GridView长按并滑动某一项时,滑动过程中与ScrollView和ViewPager冲突问题

四、滑动GridView中某一项时,当滑动到顶部时ScrollView要能向下滚动;手指滑动到底部时要能项上滚动

阅读全文 »

设计模式之策略模式

发表于 2016-05-20 | 分类于 设置模式 | | 阅读次数:

设计模式之策略模式

今天介绍下策略模式,直接先上UML图

enter image description here

策略模式的概念

The Strategy Pattern defines a family of algorithms,encapsulates each one,and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it.
–(翻译)– 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。策略模式使得算法可独立于使用它的客户而变化。

1、需要使用ConcreteStrategy提供的算法。
2、 内部维护一个Strategy的实例。
3、 负责动态设置运行时Strategy具体的实现算法。
4、负责跟Strategy之间的交互和数据传递。

策略模式的组成

— Strategy(抽象策略类): 通常由一个接口或者抽象类实现。
— ConcreteStrategy(具体策略角色):包装了相关的算法和行为。一般有多个
— Context(环境角色):持有一个策略类的引用,最终给客户端调用。

阅读全文 »

苏玉波

9 日志
8 分类
11 标签
GitHub
© 2018 苏玉波 | Site words total count: