自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 JVM笔记—运行时区域数据

Java虚拟机在执行Java程序的过程中会把它所管理的内存划分为若干个不同的数据区域。这些区域都有各自的用途,以及创建和销毁时间,有的区域随着虚拟机进程的启动而存在,有些区域则是依赖用户线程的启动和结束而创建和销毁。 程序计数器程序计数器是一块较小的内存空间,它的作用可以看做是当前线程所执行的字节码的行号指示器。在虚拟机的概念模型里,字节码解释器工作时就是通过改变这个计数器的值来选取下一...

2018-09-06 18:22:37 135

原创 第一个Flutter APP

创建Flutter App创建一个新的Flutter项目,项目会默认自带一个示例,编辑lib/main.dart的代码删除main.dart文件中的代码,替换为以下代码,然后运行import 'package:flutter/material.dart';void main() => runApp(new MyApp());class MyApp extends St...

2018-09-04 09:47:12 313

原创 Flutter环境搭建

环境安装获取Flutter SDKgit clone -b beta https://github.com/flutter/flutter.gitexport PUB_HOSTED_URL=https://pub.flutter-io.cn //国内用户需要设置export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io....

2018-09-04 09:46:38 309

原创 Flutter Widget框架概述

介绍Flutter Widget采用现代响应式框架构建,中心思想是用widget构建你的UI。Widget描述了他们的视图在给定其当前配置和状态时看起来像什么。当widget的状态发生变化时,widget会重新构建UI,Flutter会对比前后变化的不同,以确定底层渲染树从一个状态转换到下一个状态所需的最小更改。基础WidgetFlutter有一套丰富的基础widget。Te...

2018-09-04 09:45:26 443 1

原创 Android笔记—Activity启动模式

默认情况下,我们多次启动同一Activity的时候,系统会多次创建实例并一一放入到任务栈中,Android也提供启动模式来修改这种默认的行为。LaunchModestandard标准模式。Activity默认的启动方式,在这种启动方式下每次启动Activity系统都会重新创建实例并放入到任务栈中,被创建的Activity会进行正常的生命周期回调。 当我们用ApplicationCon...

2018-07-11 17:31:29 198

翻译 EventBus—订阅者索引

订阅者索引订阅者索引是EventBus 3的新功能,它是一种可选择的优化,用来加快初始订阅者的注册。 可以使用EventBus注解处理器在编译期内创建订阅者索引文件,虽然不强制使用索引,但是在Android上推荐使用以便获得最好的性能。索引前提请注意:只有用@Subscribe注解的方法才能被编入索引,同时,Subscriber类和事件类必须是public。此外,由于Java注解本身...

2018-07-09 15:00:25 529

原创 Android进阶之路 —EventBus源码解析

EventBus是基于发布/订阅的开源框架,主要用于组件之间的通信,下面会从三个点对EventBus的源码进行分析(1)register(Object subscriber) 被通知类的注册使用EventBus时我们首先会在需要被通知的类中去进行注册,现在看一下register()里面做了什么事。 public void register(Object subscriber) ...

2018-06-08 17:58:56 204

原创 Tomcat通过不同的端口去访问不同的Web资源

在开发中遇到过这样一种需求:客户端希望通过8080端口访问的是一种资源,而通过8089访问的是另一种资源,在只使用一个Tomcat的情况下我们需要怎么做呢? 一提到端口,我们自然而然的就想到了Tomcat的conf目录下的server.xml,我们先来看看里面的内容:<?xml version='1.0' encoding='utf-8'?><!-...

2018-04-24 13:57:29 841

原创 Fragment管理工具类

分享一个之前项目自己写的一个Fragment切换工具类首先是工具类的代码,工具类封装了Fragment的切换,添加、销毁、状态保存等方法public class FragmentTabManager { private Context mContext; private FragmentManager mFragmentManager; private in...

2018-04-24 13:54:41 962

原创 使用DownloadManager进行应用下载

最近在做公司的应用下载功能,使用到的是系统提供的DownloadManager,正好抽时间做成一个模块。关于DownloadManager先来看一段官方的介绍:The download manager is a system service that handles long-running HTTP downloads. Clients may request that a ...

2018-04-20 17:24:54 403

原创 7.0—AsyncTask源码分析

AsyncTask源码分析之前开发中经常使用AsyncTask进行异步数据获取,当时只限于使用,只知道大体的就是通过线程池+handler实现的封装,具体的代码细节没有仔细看过,今天就阅读一下源码,当作笔记。加深记忆构造函数public AsyncTask() { mWorker = new WorkerRunnable<Params, Result>() {

2017-03-15 12:56:38 356

原创 使用自定义Camera实现简单拍照功能

闲来无事,就把之前用自定义Camera实现的简单拍照功能记录一下。 Camera类在5.0以后不推荐使用了,取而代之的是android.hardware.camera2包下的类,本文使用Camera。 我们首先自定义一个View去继承SurfaceView:public class CameraSurfaceView extends SurfaceView implements SurfaceH

2017-03-14 12:50:52 3188 1

原创 Retrofit自定义Converter数据异常处理攻略

开发中客户端时常与服务端打交道,客户端请求参数到服务端,服务端返回响应数据到客户端,开发中用的比较多的就是Json数据传递,从请求到响应的步骤一般是约定数据格式,响应数据进行关系映射,然后对错误数据进行异常处理。数据格式一个比较良好的的响应数据应该具备响应码、数据状态描述、具体的响应数据 { “message”: “正常”, “responsecode”: 0,

2017-03-07 19:40:06 1587

原创 算法基础——快速排序

快速排序的基本思想:快速排序是对冒泡排序的一种改进,它的基本思想是:将一组数列分成独立的两部分,其中一部分的数据比另一部分的数据都要小,然后按照这个方法在这两部分中进行排序。 为了理解方便,我们直接上图吧。首先我们需要给一群高矮不同的人排队,如下图: 首先我们需要将这一群人划分为两部分,其中左半部分所有人的身高都比右半部分人的身高低,我们让一号位出列作为划分队伍的基准身高,然后让五号位出列互相比

2017-02-15 13:06:34 284

原创 算法基础——冒泡排序

冒泡排序的基本思想冒泡排序是一种交换排序,它的基本思想是:相邻的两两元素互相比较,如果是反序则位置交换,直到没有反序为止。举一个比较通俗的例子:小时候我们都经历过高矮个排队,如果在排队的过程中我们使用冒泡排序的话,首先第一个同学会与他右边的同学比较身高,如果比右边高的话则两个人互换顺序,矮的话则保持不动,之后第二个位置的同学与他右边的同学比较,如此重复,如果有N个同学的话则第一趟排序需要进行N-1次

2017-02-14 17:15:58 399

原创 浅谈Activity的生命周期

浅谈Activity的生命周期Activity作为四大组件之一,是在平时开发中使用最为频繁的一个组件,了解Activity的生命周期有助于我们更好地去优化用户体验。 - Activity的生命周期图 一般情况下,Activity会经历的生命周期:onCreate Activity的创建,是生命周期中的一个方法,在这个方法中我们可以做一些初始化的工作,比如加载我们的布局。 onStart

2016-11-13 11:52:35 313

空空如也

空空如也

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

TA关注的人

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