自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Mupceet

Don't Repeat Yourself

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

原创 Ubuntu 安装 Node.js 的正确姿势

Ubuntu 安装 Node.js 的正确姿势若要直接查看安装 Node.js 的正确姿势,请拉到文章最后一节。安装 Node一般情况下,你第一次安装会这样:首先到 Node.js 官网下载压缩包。下载得到 node-vXxx.tar.xz,然后解压到 /opt/(适用于共享用户)或 /usr/local/(适用于用户个人资料)。以 /opt/ 为例:$ cd ~/Downlo...

2020-02-08 02:00:52 254 1

原创 Ubuntu 安装 Node.js 的正确姿势

Ubuntu 安装 Node.js 的正确姿势若要直接查看安装 Node.js 的正确姿势,请拉到文章最后一节。安装 Node一般情况下,你第一次安装会这样:到 Node.js 官网下载压缩包。下载得到 node-vXxx.tar.xz,然后解压到 /opt/(适用于共享用户)或 /usr/local/(适用于用户个人资料)。以 /opt/ 为例: $ cd ~/...

2020-02-08 01:56:07 316

原创 RecyclerView 拖动/滑动多选的实现(3)

方案二:DragSelectRecyclerView扩展的选择策略之前提到,方案二是基于方案三进行扩展的,可以看到,在 OnItemTouchListener 这一块,两者其实几乎是一模一样的。而方案二一个很好的地方,就是在几乎不修改 DragSelectTouchListener 的前提下,对其选择功能进行了强大方便的扩展。下面我将从设计的思路出发,理一理是怎样完成的。

2017-08-18 16:16:11 1332 2

原创 RecyclerView 拖动/滑动多选的实现(2)

方案三: AndroidDragSelect前文说到,方案三就是分析了方案一的缺点之后,给出了自己的基于 OnItemTouchListener 的实现方案,耦合度低,可以很容易集成进现有的项目当中。从自定义 RecyclerView 的方案中可以看到,它是在事件分发的时候进行处理。

2017-08-18 15:58:05 1833

原创 RecyclerView 拖动/滑动多选的实现(1)

为什么要做滑动多选?可以看到众多 ROM 的系统应用都实现了滑动多选的功能,例如三星的文件管理器,OPPO 的短信等等,不知道来源是不是 Google 相册。因为交互上与 Google 相册的策略都是一致的。

2017-08-18 15:56:49 3015

原创 Android 性能优化——UI 优化指南

在 Android UI 布局过程中,遵守一些惯用、有效的布局原则,可以制作出高效且复用性高的 UI。本文从问题的分析与定位入手,以期了解问题的根源以及学会解决问题的手段。

2017-07-06 21:17:51 691

原创 CircleImageView 解析与定制

CircleImageView 是一个非常轻量的实现圆形头像的类。GitHub 上 Start 数达到了 7k+,质量非常高。使用方法非常简单,具体参见 GitHub 文档。本文通过源码进行分析,学习其实现原理,可进一步进行定制。

2017-06-27 09:36:05 423

原创 Activity 启动模式全解析

一、任务与返回栈 (Tasks and Back Stack)二、管理任务任务栈的管理主要通过 launchMode 的四种启动模式,本文详细地描述了四种启动模式的实际表现。通过相应的 Demo 测试结果可以更好地理解启动模式。

2017-05-21 20:21:24 398

原创 Android 性能优化——启动时间优化指南

启动时间优化毫无疑问,应用的启动速度越快越好。本文可以帮助你优化应用的启动时间:首先解释启动过程内部机制;然后讨论如何分析启动性能;最后,描述了一些常见的影响启动时间的问题,并就如何解决这些问题给出一些提示。

2017-04-11 00:38:17 9734 1

原创 Android 性能优化——小心自动装箱(Autoboxing)

小心自动装箱(Autoboxing)有时性能瓶颈是由小问题累积到一起产生的。一个典型例子就是 Java 的自动装箱功能。看看小小的问题是怎么引发问题的吧。

2017-04-04 20:57:18 1883

翻译 Android 性能优化——管理应用的内存

随机存取存储器(RAM)在任何软件开发环境中都是一个很宝贵的资源。这一点在物理内存通常很有限的移动操作系统上,显得尤为突出。你需要避免引入内存泄漏(通常是由于静态成员变量中持有对象引用导致),并在适当的生命周期的回调中释放所有的引用对象。本文章介绍如何在应用中主动减少内存的使用。

2017-04-04 01:53:37 1623

原创 Ubuntu 提示 boot 空间不足的解决办法

更新内核之后旧内核还存放在里面,安装软件的时候就会提示/boot空间不足,这时最佳解决办法就是将不用的旧内核删除。

2017-03-30 23:04:52 9548

原创 Java & Android 获取当前方法名

开发过程中经常需要获取当前正在执行的方法名,可以StackTrace信息来获取。使用Thread.currentThread().getStackTrace()返回StackTraceElement数组。

2017-03-25 21:22:13 3632

转载 深度讲解 Android 主题层级

原文链接 : Android Themes — An in-depth guide原文作者 : Sérgio Serra译文出自 : 掘金翻译计划译者 : aidistan校对者: shixinzhang, a-voyager 深度讲解 Android 主题层级

2017-03-25 17:01:24 589

原创 设置Dialog的显示宽度

有时,我们想要一个特定宽度的Dialog,这时候,就可以采用本文的方法来设置。

2017-03-14 20:27:47 3557

原创 遍历数组删除某元素的方法

现在有一个数组,需要遍历其中的元素,当该元素符合某个条件的时候从数组中将该元素中删除。

2017-03-08 09:20:36 9413 5

原创 Dialog 三种退出方式的回调分析

AlertDialog三种退出方式到底做了什么?

2016-11-01 20:30:51 16872

原创 查询SIM卡联系人——源码流程简介

查询SIM卡联系人的流程,涉及AIDL跨进程通信与代理模式

2016-10-25 18:06:28 1619

转载 MATLAB链接MinGW编译器

在 MATLAB 下把 C/C++ 文件编译成 mex 文件,可以使用支持的 MinGW 编译器。R2015b 版本支持 MinGW 4.9.2,可在 MATLAB 中根据官方安装指南直接安装。主页 –> 附加功能 –> 获取附加功能 –> 按类型细分 –> 功能 –> MinGW -w64 。(可以直接搜索)安装 MinGW 时要去掉检查更新的勾选项。因为仅支持 MinGW 4.9.2 版本。

2016-04-10 20:24:09 1516

原创 strcpy 字符串拷贝函数解析

strcpy 字符串拷贝函数解析描述:实现 strcpy,字符串拷贝函数,函数原型如下:char* my_strcpy(char *to, const char *from);分析:函数原型 该原型默认存储空间足够 const:表明其为输入参数,防止其在函数体内被意外修改返回值:使函数能够支持链式表达式,额外增加了函数的可用性函数流程 检查输入指针的有效性,防止访问出错用指针把to

2016-04-04 22:42:04 1625 1

空空如也

空空如也

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

TA关注的人

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