自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

世上只有一种英雄主义

在认清生活真相之后依然热爱生活

  • 博客(18)
  • 资源 (1)
  • 收藏
  • 关注

原创 大厂面试题-0到9999这1万个数中有多少个数字7

(请不要理解为多少个数包含7)题目0 到 9999 这 1 万个数中有多少个数字 7 ?(请不要理解为多少个数包含 7)思路&答案总共有四位数,每位数的可能分别有10种(0~9)。 每一个位,都会出现0-9的交替,实际上在出现7这个角度,各个位是一样的。现在假设个位固定为7,那么其他的位数的变化数量是10 * 10 * 10 = 1000种。 就是说数字7在个位出现的次数为1000。以此类推,数

2017-02-27 22:29:07 9284 10

原创 linux的重定向管道详解

重定向标准 I/OLinux shell(比如 Bash)接收或发送序列和字符串流 形式的输入或输出。每个字符都独立于与之相邻的字符。字符没有被组织成结构化记录或固定大小的块。不管实际的字符串流进入或来自文件、键盘、显示窗口或其他 I/O 设备,都使用文件 I/O 技术来访问流。Linux shell 使用 3 种标准的 I/O 流,每种流都与一个文件描述符相关联: stdout 是标准输出流,它

2017-02-23 19:02:37 1862

原创 ubuntu设置swap(交换内存)

ubuntu设置swap(交换内存)1.首先用命令free查看系统内Swap 分区大小 total used free shared buffers cache Mem: 1002 964 38 0 21 410 -/+ buffers/cache: 532 470 Swap: 1024 24 10002.添加swap文件mkdir swapcd swapsu

2017-02-23 16:20:56 11967 3

原创 生产者和消费者问题详解

定义生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了共享固定大小缓冲区的两个线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的

2017-02-17 19:25:18 5987

原创 Android线程安全问题总结

线程安全的定义线程安全:如果你的代码所在的进程中有多个线程在同时运行,而这些线程可能会同时运行这段代码。如果每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,就是线程安全的,或者说:一个类或者程序所提供的接口对于线程来说是原子操作或者多个线程之间的切换不会导致该接口的执行结果存在二义性,也就是说我们不用考虑同步的问题 。Android的单线程模型当一个程序第一次启动的时候

2017-02-17 15:52:49 7555

原创 Android VelocityTracker获取滑动速度

官方介绍/** * Helper for tracking the velocity of touch events, for implementing flinging and other such gestures. * Use obtain to retrieve a new instance of the class when you are going to begin tracki

2017-02-16 17:50:55 4058

原创 Crashlytics-Android崩溃(crash)统计工具使用教程

Fabric 是一个先进的移动平台平台。 Crashlytics 是Fabric提供的一个崩溃统计分析平台,允许你监控你的应用的状态。如何配置Fabric-Crashlytics第一步改变build.gradle: buildscript { repositories { maven { url 'https://maven.fabric.io/public' } } depen

2017-02-14 18:32:02 4463 1

原创 Android 数据绑定(Data Binding)详解

1.Gradle (Module:app) 配置android { .... dataBinding { enabled = true }}2.数据模型public class Item { public String name; public String description; public Item(String name,

2017-02-13 20:09:33 1781

原创 举例说明Android运行时权限用法

运行时权限是API-23时候新加的,允许在运行时动态授予权限废话不多说,直接上代码public static final int MULTIPLE_PERMISSIONS = 10; // code you want.String[] permissions = new String[] { Manifest.permission.WRITE_EXTERNAL_STORAGE, M

2017-02-13 18:42:16 883

原创 Android-6步教你自定义View

如果你打算完全定制一个View,那么你需要实现View类(所有的Android View都实现于这个类),并且实现确定尺寸的onMeasure(…))方法和确认绘图的onDraw(…))方法。 自定义View一共分为6步第一步public class SmileyView extends View { private Paint mCirclePaint; private Pain

2017-02-09 17:00:28 1404

原创 Android小技巧-SharedPreferences实现设置界面

SharedPreferences的一个用途是实现设置界面,虽然现在的许大家都用它来存储基本的键值对。1.设置xml/res/xml/preferences.xml<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> <PreferenceCategory andr

2017-02-09 15:54:46 1794

原创 Android常见内存泄漏以及解决办法

1. 注意你的Context引用尝试使用合适的context##(1).Toast能在许多的Activity看到, 使用 getApplicationContext() (2).service经常比activity生命周期长,所以使用如下的代码:Intent myService = new Intent(getApplicationContext(), MyService.class)下图展示了

2017-02-09 13:14:12 1406

原创 Android内存泄漏剖析之AsyncTask

泄漏原因一个常见的内存泄漏错误是AsyncTask有Activity或者Fragment的的强引用。错误示例下面是错误的,因为内部类隐式的含有父类的引用,这种情况下,通常是Activity和Fragment的引用。class MyActivity extends Activity { private AsyncTask<Void, Void, Void> myTask = new AsyncT

2017-02-09 12:08:12 1639

原创 Material风格的悬浮按钮

Material风格的悬浮按钮 简介在material 风格的设计中,一个悬浮按钮代表了它的最初动作。 它们是悬浮在UI界面上的一个圆形按钮,并且有一些动作,包括变形,发射,位移等 在build.gradle file 文件的dependencies加入如下的依赖:compile ‘com.android.support:design:25.1.0’layout布局文件:<!-- Add th

2017-02-08 19:55:22 1534 1

原创 实现Material Design风格的Button

实现Material Design风格的Button简介The AppCompat Support Library 定义了几个很有用的style,这些Style是基于Widget.AppCompat.Button style实现的。当使用 AppCompat theme主题的时候,Widget.AppCompat.Button style 是默认使用到所有的button上面的。这些样式保证了Butt

2017-02-08 16:24:49 2809 1

原创 Android开发必看-详解Activity之间的数据传递

Activity之间的数据传递Activity单向数据传递下面的;例子演示了从 OriginActivity activity 传递字符串“some data!” 到DestinationActivity activity. 注:这是两个活动之间发送数据的最直接的方法。直接上代码(简单粗暴直接代码示例!)OriginActivitypublic class OriginActivity exte

2017-02-08 15:30:53 1257

原创 Android LayoutParams用法解析

ViewGroup.LayoutParams介绍LayoutParams携带了子控件针对父控件的信息,告诉父控件如何放置自己LayoutParams类也只是简单的描述了宽高,宽和高都可以设置成三种值: 1,一个确定的值; 2,FILL_PARENT,即填满(和父容器一样大小); 3,WRAP_CONTENT,即包裹住组件就好。每一个ViewGroup(例如LinearLayout, Relat

2017-02-07 18:28:22 1860

原创 Android的WindowManager解析

定义开发者官网的定义 The interface that apps use to talk to the window manager. Use Context.getSystemService(Context.WINDOW_SERVICE) to get one of these.WindowManager介绍Android的WindowManager是一个系统的服务,这是负责管理z-ord

2017-02-07 16:23:32 1379 1

深入理解Java虚拟机——JVM高级特性与最佳实践(第2版

深入理解Java虚拟机——JVM高级特性与最佳实践(第2版).pdf,完整,带书签, 完整版

2017-11-03

空空如也

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

TA关注的人

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