自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 资源 (4)
  • 问答 (1)
  • 收藏
  • 关注

原创 从app启动开始

app的启动流程非常的复杂,能真正搞懂又可以给别人讲明白的很少,作为开发来讲,我们以app启动开始,看那些是可以进行优化的,启动流程就用一张简单的流程图来替代,因为我们的重点是在于启动优化,目的是如何可以让用户更快速的打开页面,有更极致的用户体验。这张图画的比较简单,但是也可以反映一定的问题。第一点app启动过程中首先要绑定Application,回到application的生命中期,然后...

2018-09-16 22:44:03 598

原创 前端优化之雅虎军规

无论是前端还是移动端,好的应用给人更快,更清晰的体验。1.减少http请求,web页面无论是js还是html、css都是依赖于网络请求的。所以合并通用的css等文件,减少网络的请求次数。对于页面渲染速度是有用的。使用雪碧图,即CSS Sprite,减少图片的请求次数,并且图片在合并之后,总的字节数减少,请求更快...

2018-07-16 16:27:23 489

原创 android中JNI使用探究

最近一直比较忙,在做前端和后台相关的东西。主要研究方向是vue和node,所以博客很久没更新了。JNI是android里面比较难的一个环节,咱们先想一下,为什么jni比较难,有一句话叫做不明觉厉,你不知道他,不懂他,心里就觉得这个东西很高大上,很厉害。但是我想说的是,在android这一块,jni还没你想象的难。但是在开始jni的学习之前,有两点你必须要知道,其一:基本的android nkd开发...

2018-03-24 23:07:32 508

原创 MAC下使用ndk编译ffmpeg

ffmpeg是c语言的库,主要作用是对音视频进行编解码等操作。是android进阶必须要掌握的一门技术。通过使用ffmpeg可以提高对android ndk的认识和熟练度。第一步当然就是编译ffmpeg编译为android可以使用的.so文件。

2017-12-20 17:56:06 1065

原创 浅谈javaScript中的闭包

javaScript中的闭包主要涉及两方面,一个是作用域,另一个是垃圾回收机制,了解这两方面之后,掌握闭包也就不难了。

2017-09-13 11:12:38 570

转载 编译android源码7---android 源码目录结构

google Android 源码目录:https://android.googlesource.com/ android |– Makefile (全局的Makefile)|– bionic                        (Android 标准C运行支持库)|– bootable                (Android内核加载器参考)|– build

2017-07-31 16:15:53 1798 2

原创 Handler源码剖析

在分析handler之前,先要搞明白Handler是什么? Handler涉及到那些关键类?这些关键类主要作用是什么?他们是如何工作的?这些问题搞懂了之后,handler的机制就基本上全明白了。 Handler:进程中用来线程通讯的过程。 Handler涉及的关键类有那些? 既然是通讯,那必然就要通讯内容的载体Message。 Message就要有一个消息仓库,MessageQueue。

2017-07-23 14:25:40 420

原创 水波纹控件实现

有很多app使用过水波纹的这样的效果,看着很酷酷的样子,所以自己就撸码写了一个。 实现思路:利用贝塞尔曲线绘制圆弧(也就是水波的波纹)通过动画改变绘制的起始点使水波纹平移

2017-07-22 23:32:31 708

原创 仿今日头条频道管理

使用过今日头条的伙计们对这个效果肯定很熟悉。拖拽可排序,点击标签后可以删除。今天我们采用RecyclerView来实现。实现思路:通过ItemTouchHelper来绑定RecyclerView的子控件触摸事件。当滑动拖拽的时候,通知适配器来交换两个子控件的显示位置。更改数据源,使数据源与子空间显示内容一致。

2017-07-22 14:29:50 1037 1

原创 趣谈责任链模式

什么叫责任链模式?就是请求1:1的传递,知道请求内容被相应的类处理。这么说是不是不好理解?那么我们结合生活中的例子来掌握java的这种设计模式。

2017-07-09 15:29:56 362

原创 android注解的基本原理和使用

在android的开发中注解使用是非常常见的,注解可以使代码阅读更加的清晰,整洁,可读性大大增强。但是如果不知道注解的原理,那么用起来也不会得心应手。通过本篇的学习,你可以掌握注解的基本原理,自己搭建注解框架。注解的原理: 使用interface来用作标记,@Target来用作描述类型(包括类、成员变量、方法等)@Retention来描述生命周期。其内部是通过类的反射机制,调用指定对象的方法

2017-07-02 16:13:05 1471

原创 android集成热更新就是这么简单!

项目1.0开始发布,到项目稳定。这期间会有多次版本的迭代。如果每次都是发布版本,会耗费大量的时间成本,因为在版本迭代的过程中,旧的bug解决了,新的bug也可能会出现。即使是最牛逼的程序猿也不敢说自己的项目没有bug。还有就是有的时候项目中虽然存在bug,但是bug级别很低,也没有必要去发布版本。此时,为了满足这种需求。android的热更新就起了大作用了。热更新原理: android程序在打包之

2017-06-26 18:46:17 1068

原创 nodejs中的方法和模块的使用

在nodejs中方法的调用是怎样的呢?对象是如何使用的呢?对象的继承又是怎样的呢? 一起来愉快的写代码吧 。

2017-06-01 15:58:28 7611

原创 nodejs搭建web服务器就是这么简单!

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型,使其轻量又高效。Node.js 的包管理器 npm,是全球最大的开源库生态系统。(nodejs官网上的介绍),正如官网上介绍的那样,nodejs确实很牛!怎么个牛法?看看下面的代码就知道了。

2017-05-27 11:45:24 88529 11

原创 ReactNative进阶之评分控件的封装

评分控件在原生开发中使用很广泛,android中叫做RatingBar,使用方式极其easy,不会用的可以单独找我私聊。今天的主题是使用reactnative来实现RatingBar的效果。

2017-05-24 18:01:30 1960

原创 ReactNative进阶之react-native-storage的使用及封装

本篇博客将带大家展开reactnative中关于数据持久化存储的学习。其中涉及到了nodejs的语法的相关知识,也稍做介绍。好了,废话不多说。在androind中数据的持久化存储用的比较多的就是shareperferce,通过shareperferce会在手机创建一个xml文件,其中数据就是已key-value的键值对存储的。reactnative方式也是相似的,不过他的存储数据结构是json串。

2017-05-23 21:23:13 21214 3

原创 ReactNative入门之android与rn初始化参数的传递

最近一直有事儿,所以博客没有更新,但是学习reactnative的脚步不能停止!所谓日积跬步,可跨千里。好啦,多余的话就不多说了,今天主要是讲解一下,android与rn之间初始化参数的传递。

2017-05-06 22:10:51 6044 2

原创 android使用webview预览png,pdf,doc,xls,txt,等文件

最近有项目有一个需求,就是在线直接预览pdf,doc,xls,txt等文件,ios的webview比较强大,可以直接解析地址,然后预览。但是android的webview就比较差强人意了。当然,打开各种类型的文件,我么可以使用intent来做,但是这个明显跟我们的需求不一致啊,人家ios那边一点击就直接预览了,到了android这边还得先调系统程序,然后在预览,这这…….。 产品既然定了需求,那我们

2017-02-20 10:54:37 21303 24

原创 ReactNative入门之ListView使用透析

RN中有一个非常重要的组件—ListView。这是一个垂直滑动的组件,为了保证性能,ListView不会将子空间全部渲染,而是只加载手机屏幕中的可见的组件。这样保证了手机运行的流畅度。还是先看一段代码:export default class Entrance extends Component { constructor(props) { super(props);

2017-01-06 18:15:09 408

原创 ReactNative入门之Image组件透析

上一篇博客介绍了state与props的使用,接下来我会依次介绍常用的组件,以及使用的时候要注意的事项,那么下面就从Image组件开始吧。 Image是RN中展示图片的组件,使用起来也非常简单,有过前端开发经验的人对于img标签不陌生,而Image的使用和img标签极其相似。

2017-01-05 11:27:09 577

原创 js遍历数组和对象,以及Json与String的转化

js中常用的操作之一就是对数组进行遍历,以及json与string之间的转化:var array = new Array();array[0] = 1;array[1] ="aa";array[2] = true;array[3] = {name:'zhoukai'};//第一种遍历方式,for循环for(var i=0;i<array.length;i++){ console.l

2017-01-04 15:46:46 4296

原创 ReactNative入门之props与state

前一篇博客做了一个helloworld的简单例子。今天,继续RN之旅。学会props与state的使用之后,就可以做组件之间的传值和交互了。这对与RN开发来说十分关键。Props: 在java中创建对象最先执行的方法是构造函数,在构造函数中我们可以传递参数,作为对象的初始化属性值。在RN中也是一样,一个class加载时最先执行的就是构造函数,也可以传递参数。只是传递的方式不同而已。下面结合代码我们

2017-01-04 11:08:50 2138

原创 ReactNative入门之编写HelloWorld

上一篇文章简要的概括了RN的环境搭建,从本篇开始,我会带大家从一个RN小白,一步一步的具备RN开发的能力。按照传统,我们从HelloWorld开始。import React, { Component } from 'react';import { AppRegistry, Text } from 'react-native';class HelloWorldApp extends Compone

2017-01-03 15:50:38 991

原创 ReactNative环境搭建与初始化项目

RN自2015年出了以后,受到很多人的关注。通过一次编写多处使用的优势,在app的开发中使用的也越来越频繁,虽然现在看来兼容性和运行了流畅度还不及原生开发,但是在广大工程狮的努力下,RN以后的发展前景还是十分看好。本篇给大家介绍RN的环境搭建。 运行平台:win8 64位第一步:官网上建议安装Chocolatey,这个是一个包管理软件,作用就是同过安装之后运行相应命令就可以下载你需要的插件。但

2017-01-03 12:51:46 1177

原创 BroadcastReceiver与ListView结合使用

BroadcastReceiver可以说是一种系统级的监听,有自己进程,与Activity通过intent来通讯,android中的广播又分为有序和无序两种,有序广播是通过其优先级来改变广播的传递状态,在实际开发中,巧妙的利用广播来实现页面的刷新可以使我们的开发工作变得简单高效,下面通过一个简单的例子来总结ListView是如何与广播结合使用的。需求:点击接单后,对应订单状态变为已接单public

2016-12-17 16:50:39 562

原创 android百度地图使用(四)

继续我们的百度地图之旅,这篇我将要介绍百度地图中路线规划,逆地理编码的应用,这也是百度地图最后一篇。虽然百度的其他功能自己也用过,但是项目中使用的较少,暂且不谈,因为要把百度地图的所有功能都说一边那是不可能的事。路径搜索以步行搜索为例。 RoutePlanSearch:路径搜索的关键类,发起不同类型的路线规划 WalkingRoutePlanOption:步行路径规划参数类

2016-12-13 16:03:28 512

原创 android百度地图使用(三)

前一篇介绍了百度地图定位,本篇主要介绍mark点的添加和使用。很多时候,百度地图使用出现的bug大都是因为我们还没理解就去使用,现在的开发,很多人拿过来不加分析直接导入项目,幸运的一次两次调试成功了,不幸运的调试多次还是bug一堆,本篇博客将会详细分析每一个环节,要是有不对的地方,欢迎指出。在添加overlay的时候需要一个OverlayOptions参数。这是个抽象类,是地图选型基类,也就是说想要

2016-12-13 09:16:16 421

原创 android百度地图使用(二)

这篇博客我会详细介绍百度地图定位的使用,很多人在使用百度地图定位的时候会出现各种各样的问题,例如无法定位,定位总是和实际距离偏差很大等。那么如何避免这些问题的出现,或者说如何优化呢?带着问题看我这篇博客,多多少少会对你有些启示的。 使用百度定位需要一个定位包,在上一篇博客中已经做过介绍如何导入,要是不了解可以看这篇博客android百度地图使用一这里不再赘述。在使用百度定位的时候,首先我们要

2016-12-12 16:18:52 631

原创 android中百度地图的使用(一)

因为公司主要是做旅游类app的,所以对地图的使用是比较频繁的,之前做过图吧地图,图吧地图可以说是地图届比较老的了,但是相对于开发来说用的比较少,这个有时间会总结一下。现在先开始我们的百度地图之旅吧。 第一步:在百度api控制台界面创建项目 在这里填写应用名称sha1值 这个sha1值是对应有debug版本和release版本的,两个sha1值是不同的,不能使用一个,百度给的方法是获取debug的

2016-12-12 12:47:55 658

原创 严格模式与内存泄漏,你必须知道的一切

android开发中相同的效果,但是运行起来性能是不一样的,有的app卡到爆,这无疑是是失败的产品,对于一个开发人员来说这是不能容忍的,android在API9引入了StricMode类来检查内存的读写和网络请求,虽然引入此类最主要的是检查主线程的网络请求,因为在早期的API版本是允许主线程网络请求的,但是现在请求都是异步的,严格模式的作用也不是那么的明显了,但是还是对开发有一定的帮助。 严

2016-12-08 15:09:44 1097

原创 WebView与JS的交互与使用总结

webview是安卓展示html的控件,要想完美的使用webview必须要知道三个类: 1. WebSettings:设置webview的基本配置,包括js支持等。 2. WebViewClient :html在加载过程中的设置,包括页面完成回掉等 3. WebChromeClient :alert()等js的响应函数处理 明白这三个类的使用 那webview就基本没什么难度了。下面

2016-12-07 11:49:27 529

原创 HTML5中常用的标签居中方式

html中的标签剧中方式汇总

2016-11-23 10:17:40 18940 1

原创 js基本使用

JavaScript是一种轻量级编程语言,html只是规定了布局,css统一了样式,js规范了html的行为,下面是在html中引入的一段js代码

2016-09-01 18:27:37 890

原创 android中要注意的小问题汇总

这篇博客,我将总结一下在android开发中遇到的各种疑难杂症,以及针对性的解决方式。都是一些平时比较容易遇到的问题。

2016-09-01 14:31:28 435

原创 何为android的性能优化?

很多人问:“给我说说android的性能优化吧”大多数问你这个问题的人都不知道答案是啥。因为要说android的性能优化涵盖的东西很多,这个没有确定的答案,你说一条是对,说十条也是对的。都是在做项目中慢慢总结的。说白了,性能为啥要优化,还不是你的app问题多,用户用起来不爽。不得不去改变app中的某些模块吗?那下面我们就根据在项目中遇到的问题以及利用现有的技术如何让app的问题少一点,用户爽一点。

2016-08-23 12:42:19 425 2

原创 关于android传感器的那点事儿

最近做项目用到了传感器,需求是根据手机旋转的方向旋转自定义的view,用到的传感器有主要有两个 一个是磁场传感器,另一个是速度传感器,顺带着研究了一下手机的距离传感器,感觉手机的距离传感器比较坑啊,为啥这样说?等会儿就知道了。自定义view已经下好了,就不展示了,主要展示一下传感器的代码。

2016-08-21 17:17:33 599

原创 html(2)之CSS

级联样式表(Cascading Style Sheet)简称“CSS”,通常又称为“风格样式表(Style Sheet)”,它是用来进行网页风格设计的

2016-08-01 10:37:34 425

原创 html(1)之标签

html是一种超文本标记语言,并不是一种编程语言。使用标记标签来描述网页。html文档包括标签和纯文本。浏览器解析的时候不会显示标签,而是根据标签去解析所对应的内容。有时候标签之间是空内容,这在语法上是允许的。 与 之间的文本描述网页 与 之间的文本是可见的页面内容 与 之间的文本被显示为标题 与 之间的文本被显示为段落 与  可以定义连接 与可以显示图片 分割线用在段落中可以换行

2016-07-27 16:30:05 516

原创 android中jni,内存优化,设计模式总结

studio使用jni步骤总结: 创建native方法 编译一下生成class文件 对应的class文件生成.h文件(也就是C语言的头文件) 在main文件夹下建立jni目录,然后将头文件拷贝到里面 在jni目录下建立c文件,并引入生成的头文件,然后实现头文件中的方法 在创建native方法的类中引入生成的so文件,然后调用即可android内存优化: 1.activity中复写onT

2016-07-25 16:37:20 1521

原创 android实现自定义相机以及图片的水印

最近在做图片的水印功能,也就研究了一下android的相机。在android中有两种方式可以进行拍照,一种是调用系统的拍照功能调用方式比较简单而且不需要权限。 调用方式: //照相机中获取照片 public void getPhoto_FromCamera() { try { Intent intent = new Intent(M

2016-06-26 16:34:53 9226 13

Mac版Jd-gui-apktool-dex2jar

最新版mac反编译apk工具,经本人在mac10.13系统运行正常。

2017-11-16

预览pdf所需代码

内涵android预览pdf所需的java代码以及预览pdf的js脚本

2017-06-27

assets文件

assets文件

2017-02-20

BrodCast结合ListView

Brodcast结合ListView实现页面刷新

2016-12-17

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

TA关注的人

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