自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

stevenhenry的专栏

积累,实践,创新

  • 博客(49)
  • 收藏
  • 关注

翻译 视频播放问题和提高性能方案

1.Five symptoms of poor video performance1.1 视频加载缓慢​Perceived Wait TimeTime to first frame (TTFF):​ 播放开始所需的adaptive bitrate(ABR)流媒体段的数量。(我们稍后将对此进行更详细的讨论。)​ 视频请求发送到视频加载之间的时间(即接收到足够的数据来渲染第一帧)。如果客户...

2020-03-25 19:48:58 1123

原创 android webView 与 JS交互方式

webView 与JS交互Android调用JS代码的方法有:通过WebView的loadUrl()通过WebView的evaluateJavascript()对于JS调用Android代码的方法有3种:通过WebView的addJavascriptInterface()进行对象映射通过 WebViewClient 的shouldOverrideUrlLoading ()方法回调...

2020-03-18 17:39:23 178

原创 android webView的缓存机制和资源预加载

android 原生使用WebView嵌入H5页面 Hybrid开发一、性能问题android webview 里H5加载速度慢网络流量大1、H5页面加载速度慢渲染速度慢js解析效率js本身的解析过程复杂、解析速度不快,前端页面设计较多的js代码文件手机硬件设备的性能机型多,硬件性能不一资源加载慢H5页面的资源多网络请求数量多​ H5页面所有资源都需要从网络...

2020-03-18 17:17:35 1602

原创 NDK-r14b + FFmpeg-release-3.4 linux下编译FFmpeg

下载资源官网下载完NDK14b 和 FFmpeg下载之后,更改FFmpeg 目录下configure问价如下:SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'SLIB_INSTALL_NAME=...

2020-03-16 20:51:40 178

原创 机器学习kaggle竞赛实战-泰坦尼克号

发发打发发士大夫撒

2020-03-12 22:19:53 261

原创 二叉搜索树

二叉搜索树: Binary Search Tree一棵二叉树,可以为空;如果不为空,满足以下性质:非空左子树的所有键值小于其根节点的键值。非空右子树的所有键值大于其根节点的键值。左、右子树都是二叉搜索树。find操作:Position Find(int x, BinTree BST){​ if(!BST) return NULL;​ if(x > BST->Da...

2020-03-12 22:00:25 94

原创 机器学习实践七----异常检测和推荐系统

Anomaly detectionGaussian distributionEstimating parameters for a GaussianSelecting the threshold, εHigh dimensional datasetRecommender SystemsMovie ratings datasetCollaborative filtering learn...

2020-03-07 10:36:12 462

原创 机器学习实践六---K-means聚类算法 和 主成分分析(PCA)

在这次练习中将实现K-means 聚类算法并应用它压缩图片,第二部分,将使用主成分分析算法去找到一个脸部图片的低维描述。K-means ClusteringImplementing K-meansK-means算法是一种自动将相似的数据样本聚在一起的方法,K-means背后的直观是一个迭代过程,它从猜测初始的质心开始,然后通过重复地将示例分配到最接近的质心,然后根据分配重新计算质心,来细化这...

2020-03-04 16:49:21 2722

原创 机器学习实践五---支持向量机(SVM)

之前已经学到了很多监督学习算法, 今天的监督学习算法是支持向量机,与逻辑回归和神经网络算法相比,它在学习复杂的非线性方程时提供了一种更为清晰,更强大的方式。Support Vector MachinesExample Dataset 1SVM with Gaussian KernelsGaussian KernelExample Dataset 2Example Dataset 3S...

2020-03-02 20:25:11 235

原创 机器学习实践四--正则化线性回归 和 偏差vs方差

用水库水位的变化,来预测大坝的出水量Regularized Linear RegressionVisualizing the datasetRegularized linear regression cost functionRegularized linear regression gradientFitting linear regressionBias-varianceLear...

2020-03-01 22:23:45 306

原创 机器学习实践三---神经网络学习

Neural Networks在这个练习中,将实现神经网络BP算法Visualizing the dataModel representationFeedforward and cost functionRegularized cost functionBackprogationSigmoid gradientRandom initializationBackporpagati...

2020-02-28 22:01:56 329

原创 机器学习实践二 -多分类和神经网络

本次练习的任务是使用逻辑归回和神经网络进行识别手写数字(form 0 to 9, 自动手写数字问题已经应用非常广泛,比如邮编识别。使用逻辑回归进行多分类分类练习2 中的logistic 回归实现了二分类分类问题,现在将进行多分类,one vs all。加载数据集这次数据时MATLAB 的格式,使用Scipy.io.loadmat 进行加载。Scipy是一个用于数学、科学、工程领域的常用软件...

2020-02-27 21:50:35 364

原创 计算机视觉对扫描文件分类 OCR

通过计算机视觉对扫描文件分类一种解决扫描文档分类问题的深度学习方法在数字经济时代, 银行、保险、治理、医疗、法律等部门仍在处理各种手写票据和扫描文件。在业务生命周期的后期, 手动维护和分类这些文档变得非常繁琐。对这些非机密文档进行简单而有意义的自动化处理,将使维护和利用信息变得容易的多,并显著减少手工工作。本案例研究的目的是开发一个基于深度学习的解决方案,可以自动分类的文件Data:...

2020-02-27 15:33:22 1009

原创 时间管理

时间管理时间管理是运用策略和技术,帮助你尽可能有效地利用你的时间。不仅仅是要将时间用在正确的地方, 而且还要将尽可能有效地加以利用。目前是如何利用时间的:意识是时间管理的先决条件。目标提供路线图。选择是难点。意识第一条:意识是先决条件刚刚72小时是如何度过的?睡觉吃饭学习/阅读看电视打电话/发短信运动上课或工作时间娱乐其它杂物总计———————————...

2020-02-26 22:48:18 380

原创 机器学习实践一 logistic regression regularize

Logistic regression数据内容: 两个参数 x1 x2 y值 0 或 1Pottingdef read_file(file): data = pd.read_csv(file, names=['exam1', 'exam2', 'admitted']) data = np.array(data) return datadef plot...

2020-02-26 22:36:48 302

原创 matplotlib基础函数函数 plot, figure

matplotlib.pyplot.plot(*args, scalex=True, scaley=True,data=None,**kwargs)用线段和标记去绘制x和y。调用签名:plot([x], y, [fmt], *, data=None, **kwargs)plot([x], y, [fmt], [x2], y2, [fmt2], ..., **kwargs)点或线的坐标由x...

2020-02-22 21:53:58 386

原创 深入理解激活函数

为什么需要非线性激活函数?说起神经网络肯定会降到神经函数,看了很多资料,也许你对激活函数这个名词会感觉很困惑, 它为什么叫激活函数?它有什么作用呢?看了很多书籍上的讲解说会让神经网络变成很丰富的算法, 还有的会说让神经网络的表达能力更强大了, 是不是很笼统,看到这些不要烦躁,要有耐心。国内学习深度学习,我看多最好的课程,能看的明白的还是吴恩达的课程,单同学对于一些英语水平比较低的同学, 学起...

2020-02-14 16:43:54 406

原创 KNN 算法--图像分类算法

KNN 算法–图像分类算法找到最近的K个邻居,在前k个最近样本中选择最近的占比最高的类别作为预测类别。给定测试对象,计算它与训练集中每个对象的距离。圈定距离最近的k个训练对象,作为测试对象的邻居。根据这k个紧邻对象所属的类别,找到占比最高的那个类别作为测试对象的预测类别。影响因素:计算测试对象与训练集中各个对象的距离。k的选择。import operatorimpo...

2019-11-21 23:00:33 764

原创 opencv(二) 图片处理

opencv 图片处理opencv 图片像素操作取像素点操作设置像素点取图片块分离,合并 b, g, rimport numpy as npimport cv2 as cvimg = cv.imread('/Users/guoyinhuang/Desktop/G77.jpeg')# 获取像素值px = img[348, 120] # 0 是y, 1 是xprint(...

2019-11-15 16:25:05 169

原创 opencv (一) 学习通过OpenCV图形界面及基础

opencv 学习通过OpenCV图形界面及基本用的函数有cv.line(), cv.circle(),cv.rectangle(), cv.ellipse(),cv.putText()常用参数img : 想要绘制图形的图片color: 图形的颜色, BGRthickness:厚度lineType: 线的类型, 8-connected、anti-aliased 等绘制线段...

2019-11-15 09:43:31 1239

原创 毫米波雷达与激光雷达的初探

毫米波雷达与激光雷达的初探雷达(Radio Detection and Range, Radar)是一种利用电磁波来对目标进行探测和定位的电子设备。实现距离测量、运动参数测量、搜索和发现目标、目标定位、目标特性参数分析等功能。分类电磁波按照从低频到高频的顺序,包括有无线电波、微波、红外线、可见光、紫外线、伽马射线的电磁辐射。工作在红外和可见光波段的雷达称为激光雷达(Laser Rada...

2019-09-05 17:39:53 1094

原创 VMware文件共享

VMware tools 文件共享已经安装后:vmhgfs-fuse .host:/ /mnt/hgfs

2019-03-27 17:35:24 141

原创 关于使用pdf.js预览pdf的一些问题

手机应用中pdf展示使用非常广泛, 一些pdf由于特殊的内容比如文字、电子签章必须使用复杂的解析器来解析,当使用MultiPdf 这个库加载,会使得包变得非常庞大, 这里我们考虑使用pdf.js 来解析pdf.引用非常简单,只需要把js相关文件放到assets文件夹中即可,然后通过webview来加载。android 使用H5加载非常缓慢。这里pdfUrl是本地路径。,这里要注意路径问题view...

2018-11-06 10:13:17 1846

翻译 冷启动、热启动时间性能优化

用户希望应用程序能够快速响应并加载。 一个启动速度慢的应用程序不符合这个期望,可能会令用户失望。 这种糟糕的体验可能会导致用户在应用商店中对您的应用进行糟糕的评价,甚至完全放弃您的应用。本文档提供的信息可帮助您优化应用的启动时间。 它首先解释启动过程的内部。 接下来,讨论如何配置启动性能。 最后,它描述了一些常见的启动时间问题,并提供了一些关于如何解决它们的提示Launch Interna

2018-01-05 13:35:24 3437

原创 透明状态栏导致windowSoftInputMode:adjustResize失效问题

当我们通过下面代码:getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);设置状态栏透明,当界面存在EditText时,在activity里面设置windowSoftInputMode:ad

2018-01-04 18:41:37 3113 4

翻译 理解ConstraintLayout 对性能的好处

自从在17年GoogleI/O大会宣布了Constraintlayout,我们持续提升了布局的稳定性和布局编辑的支持。我们还为ConstraintLayout添加了一些新特性支持创建不同类型的布局,添加这些新特性,可以明显的提升性能,在这里,我门将讨论ContrainLayout是如何提升性能的。Android是怎么绘制view的?为了更好的理解constrainLayout 的性能,我们先回顾an

2018-01-02 19:35:56 2181

转载 android 线程池

为什么用线程池创建/销毁线程伴随着系统开销,过于频繁的创建/销毁线程,会很大程度上影响处理效率例如:记创建线程消耗时间T1,执行任务消耗时间T2,销毁线程消耗时间T3如果T1+T3>T2,那么是不是说开启一个线程来执行这个任务太不划算了!正好,线程池缓存线程,可用已有的闲置线程来执行新任务,避免了T1+T3带来的系统开销 线程并发数量过多,抢占系统资源从而导致阻塞我们知道线程能共享系统资源,如果同

2017-12-17 19:43:47 189

原创 handler 消息处理机制

关于handler消息处理机制,只要一提到,相信作为一个android工程师,脑海就会有这么一个流程大家都滚瓜烂熟了,但别人问到几个问题,很多人还是栽到这个“烂”上面,比如:一个线程是如何对应一个Lopper的?messageQueue是如何做到线程安全的? 首先先Looper看一段代码:private static void prepare(boolean quitAllowed) {

2017-12-13 12:45:59 275

原创 关于java static 关键字

当我们创建类时会指出哪个类的对象的外观与行为。 一般的流程是用new 创建这个类的对象,然后生成数据的存储空间,并使用相应的方法。 但以下两种情况不太适合这个流程:只想用一个存储区域来保存一个特定的数据—–无论要创建多少个对象,甚至根本不创建对象。当我们需要一个特殊的方法,它没有与这个类有任何的对象关联。也就是说,即使没有创建对象,也需要一个能调用的方法。 此时就要使用static关键字去

2017-12-01 19:32:04 145

原创 builder 模式

首先提出几个问题:什么是Builder模式?为什么要使用Builder模式?它的优点是什么,那缺点呢?什么情况下使用Builder模式? 关于Builder模式在代码中用的很多,比如AlertDialog, OkHttpClient等。一提到模式感觉像是一个很牛的招式。用起来很炫。 那先看看Builder是由什么组成,他的基本思想是什么 从类图中可以看出Builder 有四个角色 -

2017-12-01 14:09:16 210

原创 Okhttp 源码解析

HTTP及okhttp的优势http结构请求头列表内容表明本次请求的客户端本次请求的cookie本次请求希望返回的数据类型本次请求是否采用数据压缩等等一系列设置请求体 指定本次请求所使用的方法请求所使用的方法响应头- 服务器标识- 状态码- 内容编码- cookie 返回给客户端响应体 本次请求所返回的数据 工作流程 1.首先客户端与服务器需要建立连接 2.建立连接

2017-11-30 16:59:40 195

原创 android 打包相关问题记录

Android 中的打包配置在build.gradle文件中,下面对该文件的内容做一下记录。buildscript { repositories { jcenter() } dependencies { classpath 'com.android.tools.build:gradle:2.2.0' }}这里生命了仓库的位置,依赖gr

2017-03-06 14:50:26 418

原创 基本排序算法

插入排序 基本思想:把待排序列表分为已排和未排序两部分,从未排序左边取值,按顺序从已排序的右端开始对比插入到相应的位置。java代码实现private void insertSort(int[] arr){ int i, j; int temp; for(i = 0; i < arr.length; i++){ temp = arr[i];

2017-03-02 12:11:32 383

原创 算法题库网站

Google Code Jam(GCJ)Peking University Online Judge(POJ)CodeForces(CF)LeetCode(LC)Aizu Online Judge(AOJ)

2017-02-07 13:57:01 1042

原创 绘制基础知识-canvas paint

先来看一下Canvas Canvas 用来提供draw方法的调用。绘制东西需要4个基本的组建:一个bitmap用来存放像素,一个canvas用来提供draw方法的调用(往bitmap里写入),原始绘制元素(e.g.Rect, Path, text,Bitmap), 一个paint。 看一下canvas的主要方法:canvas.save()保存canvas的状态,保存之后,可以调用canva

2016-07-20 17:47:41 416

原创 关于注意力的问题

问题:一旦持续的注意力分散和精力无法集中成为习惯性动作,这将成为一个严重的问题。实质:加强有意识的集中程度和持续时间,尽量避免无意识注意对大脑的干扰。 不要浪费注意力。大脑以天为周期,每天注意力是有限的。 Tip:可以在工作时放一杯水,每次分神喝水,稍作休息就喝掉一点,并且告诉自己,我的注意力在慢慢减少。减少无意识注意对你的影响。 Tip:当需要完成一项任务,给自己设置一个时间段,以小时为

2016-07-20 14:21:46 382

原创 Activity启动模式

Activity 一共有四种启动模式。 用例 启动模式 多个实例? 描述 Normal launches for most activities “standard” Yes Default. The system always creates a new instance of the activity in the target task and routes th

2016-07-12 23:05:47 240

原创 view工作原理-计算视图大小的过程(onMeasure)

view的视图有两种情况: 内容型视图:由视图的内容决定其大小。图形型视图:父视图为view动态调整大小。 ### measure的本质 把视图布局使用的“相对值”转化成具体值的过程,即把WRAP_CONTENT,MATCH_PARENT转化为具体的值。 measure内部的设计思路 再来看一下View中measure()函数原型:public final void measur

2016-07-12 21:55:39 584

原创 RecyclerView详细了解

关于RecyclerView大家都不陌生了,它的使用也越来越受欢迎,现在总体了解一下RecyclerView的作用,为什么会有RecyclerView呢,我用ListView也能干所有的事情啊,尺有所短,寸有所长,先来看看RecyclerView的优点吧可以快速实现gallery 效果。可以快速实现瀑布流效果。可以方便地为Item添加动画效果。好吧,看到这些对RecyclerView的强大应该

2016-04-22 13:25:31 300

原创 升级android 6.0系统

How to Fix errors by manually flashing Marshmallow update 镜像下载for nexus Factory imageStep 1: Download the [Marshmallow factory image](http://www.theandroidsoul.com/download-mra58k-android-6-0-marshmal

2015-12-18 11:10:08 674

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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