自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(399)
  • 资源 (87)

原创 面试官:"Handler的runWithScissors()了解吗?为什么Google不让开发者用?"

一、序大家好,这里是承香墨影!runWithScissors() 是 Handler 的一个方法,被标记为 @hide,不允许普通开发者调用。这个方法算是比较冷门,如果面试中被问及,面试...

2020-07-23 08:20:00 186 2

原创 单例模式 | 双重检测 就比 饿汉式 高级?那 Kotlin 的 object 为什么用饿汉式?

头图 by @Jess Video一、序大家好,这里是承香墨影。单例模式我相信大家应该不会陌生,随手抓一个程序员,让他说说最常用的 3 种设计模式,其中一定包含单例模式。单例最重要的是,...

2020-07-21 08:20:00 50

转载 Android App 链式唤醒分析

Gracker | 作者承香墨影 | 校对https://androidperformance.com/2020/05/07/Android-App-Chain-Wakeup/| 原文...

2020-07-17 08:20:00 341

原创 ViewGroup 默认顺序绘制子 View,如何修改?什么场景需要修改绘制顺序?

一、序大家好,我是承香墨影,许久不见,甚是想念!今天我们来聊聊 View 绘制流程的一个小细节,自定义绘制顺序。View 的三大流程:测量、布局、绘制,我想大家应该都烂熟于心。而在绘制阶...

2020-07-16 08:20:00 91

转载 会写「18.dp」只是个入门——Kotlin 的扩展函数和属性(Extension Functions/Properties)...

你关注「扔物线」了吗?本文转自公众号「扔物线」。凯哥出品,必属精品。如果你做 Android 开发,一定关注一下扔物线的公众号。他的内容是不是最好的我无法评判,但要选出一批最好的技术作者...

2020-05-16 09:30:00 98

转载 "微信都支持暗黑模式了,咱 App 也适配一波!"

Zhujiang |作者承香墨影 |校对https://juejin.im/post/5e95633951882573c2192501 |原文一、前言第一次听到暗黑模式的时候,感觉好酷啊...

2020-05-15 10:30:00 192

转载 Android 旗舰机标配的高帧屏(120Hz),对各位 App 开发者有什么影响?

各大手机厂商发布的旗舰机,都将 90Hz 甚至 120Hz 高帧率流速屏当成了标配,那这对我们实际开发的 App 会不会有影响?原本在 60Hz 下,每帧只需保证 16ms 内绘制完成就...

2020-05-13 19:10:00 478

转载 为什么你开发的app又卡又慢?

谁都希望自己开发的app极致的流畅和顺滑。你也工作好几年了,经验丰富,但为什么你做的app还是又卡又慢?安卓手机的开发语言是Java(kotlin也是对java的封装),Java本身有...

2020-04-07 08:20:00 163

转载 源码角度,分析OkHttp实现WebSocket | 握手/保活/数据处理...

wolfcstech | 作者承香墨影 | 校对https://www.wolfcstech.com/2017/02/23/OkHttp实现分析之Websocket| 原文前段时间写...

2020-04-07 08:20:00 99

原创 不瞒大家,我在湖北的这 2 个月,体验了 Android 的这个功能,真香!

一、序大家好,我是承香墨影。不瞒大家说,我已经在湖北待了 2 个多月了。前期一直处于封禁状态,随着疫情的好转,现在已经可以出去吃碗热干面了。在家远程办公...

2020-03-30 08:20:00 70

转载 Git 如何优雅地回退代码? | 案例分析

枕边书| 作者承香墨影 | 校对https://www.cnblogs.com/zhenbianshu/p/12018714.html | 原文今天给...

2020-03-25 13:10:00 34

原创 聊聊OkHttp实现WebSocket细节,包括鉴权和长连接保活及其原理!

一、序OkHttp 应该算是 Android 中使用最广泛的网络库了,我们通常会利用它来实现 HTTP 请求,但是实际上它还可以支持 WebSocket...

2020-03-19 08:20:00 395 1

转载 抖音BoostMultiDex优化实践:Android低版本上APP启动时间减少80%(一)

我们知道,Android 低版本(4.X 及以下,SDK < 21)的设备,采用的 Java 运行环境是 Dalvik 虚拟机。它相比于高版本,最...

2020-03-12 08:20:00 463

转载 取代安卓?谷歌新系统 Fuchsia OS 即将杀青,详解C、C++等与Go的优劣势对比

转载自公众号|SegmentFaultID|segmentfault_sudo作者|徐九Fuchsia OS 作为 Google 正在开发的实验性操作系统,引发了大众很多猜测,比如其将...

2020-03-03 08:20:00 187

转载 AS 3.6 稳定版终于发布了,新版本带来了哪些更新?值得升级吗?

本文转载自公众号 GSYTech作者:恋猫 de 小郭校对:承香墨影Android Studio 3.6 稳定版终于来了,此版本的 Android Studio 包括对一些设计工具的更新...

2020-02-27 11:40:00 1482 1

原创 漫画:聊聊线程池中,线程的增长/回收策略

一、序public static ExecutorService newThreadPool() { return new ThreadPoolExecutor( 30, 6...

2020-02-26 08:20:00 320

原创 面试官:“看你简历上写熟悉 Handler 机制,那聊聊 IdleHandler 吧?”

一. 序Handler 机制算是 Android 基本功,面试常客。但现在面试,多数已经不会直接让你讲讲 Handler 的机制,Looper 是如何循环的,MessageQueue 是...

2020-02-18 13:10:00 126

原创 TCP三次握手、四次挥手出现意外情况时,如何保证稳定可靠?(完整版)

本文是之前分多篇发布的文章,现在整理成一篇发布,调整了一些小细节。一. 序当我们聊到 TCP 协议的时候,聊的最多的就是三次握手与四次挥手。但是大部分资料和文章,写的都是正常的情况下的流...

2020-02-13 19:10:00 41

转载 “作为字节跳动面试官,有些话我不得不说!”

转载自字节跳动由于肺炎疫情的影响,不少同学年初跳槽的计划被搁置。虽然计划被打乱,但是这也给我们留出时间更好的准备面试。随着企业复工时间的延长,不少公司裁员、降薪甚至倒闭,之后只会更难。看...

2020-02-12 13:20:00 300

原创 被开发者抛弃的 Executors,错在哪儿?

一. 序在 Java 领域内,我们使用多线程的方式来实现并发编程。而线程本身是操作系统的一个概念,虽然不同的语言对线程都进行了一些封装,但是最终都是调用到操作系统中去创建和调度线程。既然...

2020-02-11 09:00:00 37

原创 20200202 这个千年一遇的对称日,是时候将「回文算法」一网打尽!

今天是 2020 年 02 月 02 日,被称为「千年一遇的对称日」,20200202 正反都一样,反正都是「爱你爱你」的意思。不少新人都选择今天作为领证的日子,不过因为肺炎的缘故,有些...

2020-02-02 19:13:49 90

转载 Android 黑科技保活实现原理揭秘

「保活」一向被大家归为黑科技的范畴,但是这些手段都是高手们通过对 Android 底层系统的了解,做出一些针对性的应对策略,黑科技就是一种与系统的对抗过程。今天給大家推荐一篇「维术」大神...

2020-01-17 19:10:00 345

原创 收拢图片,可以优化内存避免 OOM,但是收拢不是说说而已!(以Glide举例)

题图 by @rayyu一. 序图片一直是 App 中吃内存的大户,当我们做内存优化的时候,永远也绕不开对图片内存的优化。可能你很多其他方案一起上,最后还不如对 Bitmap 进行常规优...

2020-01-16 19:10:00 67

原创 TCP 四次挥手,你熟了!那意外情况呢?恶意攻击呢?单端跑路呢?

头图 @Craig Adderley一、序当我们聊到 TCP 协议的时候,聊的最多的就是三次握手与四次挥手,但是你有没有想过,三次握手或者四次挥手时,如果发生异常了,是如何处理的?又是由...

2020-01-09 19:10:00 170

原创 TCP 三次握手背的滚瓜乱熟,那意外情况呢?丢包了呢?故意不回复 ACK 呢?

一、序当我们聊到 TCP 协议的时候,聊的最多的就是三次握手与四次挥手,但是你有没有想过,三次握手或者四次挥手时,如果发生异常了,是如何处理的?又是由谁来处理?TCP 作为一个靠谱的协议...

2020-01-07 19:10:00 469

原创 图解算法:确定单链表有环,如何找到环的入口和长度?

一、序本文继续給大家带来一道和单链表相关的算法题。之前聊到,如何对单链表是否存在环进行检测(戳我了解),今天再来聊聊这个问题的进阶题: 一个单链表,如果有环,求环的入口。 一个单链表,如果有环,求环的长度。 链表这种结构,可以通过「指针」,将一组零散的内存块串联起来。那单链表,如果有环是一个什么情况?如上图所示,单链表中如果存在环,一定有且只有一个入口点,进...

2019-12-23 19:20:00 629 1

转载 我搞了7遍,用敏捷开发把4小时的活压进27分钟

今天我介绍一个大神,熊节,从大学肄业到ThoughtWorks总监咨询师,他从业18年,主导过华为敏捷转型。熊节倡导的敏捷开发影响了包括我在内的一代程序员,1900字,开发者的核心竞争力...

2019-12-20 08:20:00 56

原创 面试官:“最后再写道算法吧,就用单链表做个加法...”

问:给出两个非空的链表,来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且每个结点只能存储一位数字。将这两个链表相加起来,返回一个新的链表,表示他们之和。例如:342...

2019-12-17 19:10:00 35

原创 微信原图到底在救人,还是在泄露隐私?取决于你怎么用!

@Jefferson Palomique一. 序最近又看到有人在讨论,微信原图泄露隐私的事情。起因好像是有人在社交媒体上发布了一张照片,然后被网友定位到具体的生活范围,甚至直接定位到居住...

2019-12-02 19:20:00 89

原创 刚上线的Android源代码在线阅读利器,可看最新Android 10!| 推荐

1.作为 Android 开发,在日常工作和学习中,经常需要去阅读 Android 系统的源代码。体验最优的做法当然是把源码下载到本地,但是 Android 版本那么多,...

2019-11-08 18:10:00 183

原创 Kotlin重载个方法,还有两幅面孔,省代码的同时也带来一个深坑 | Kotlin 原理

一. 序今年五月的 Google I/O 上,Google 正式向全球宣布 Kotlin-First 这一重要概念,Kotlin 将成为 Android 开发者的首选语言...

2019-11-06 19:15:00 82

原创 常见的链表翻转,字节跳动加了个条件,面试者高呼「我太难了」| 图解算法...

一. 序我又来讲链表题了,这道题据说是来自字节跳动的面试题。为什么说是「据说」呢?因为我也是看来的,觉得题目还是挺有意思,但是原作者给出的方案,我想了想觉得还有优化空间,...

2019-11-04 19:16:00 698

转载 50w字+2w行代码,前Google工程师手把手带你提升代码质量

作为程序员,「极客时间」我相信大家应该不陌生,其中的《数据结构与算法之美》专栏,算是我看过最实用的专栏了,其他专栏可能是针对某个方向,但是算法与数据结构,只要是个程序员就...

2019-11-04 19:16:00 86

原创 图解:K 个一组翻转链表 | LeetCode 级别:困难

题图:@Colton Sturgeon一. 序链表作为一种基本的数据结构,本身理解起来很简单。它通过指针,将一组零散的内存空间(结点),串联起来,组成一个数据结构。在面试...

2019-10-31 19:30:00 52

原创 面试官:”准备用HashMap存1w条数据,构造时传10000会触发扩容吗?“

//预计存入1w条数据,初始化赋值10000,避免 resize。HashMap<String,String>map=newHashMap<...

2019-10-29 19:10:00 652

原创 图解算法:单链表两两反转 | 眼睛会了手就会系列

一. 序链表作为一种基本的数据结构,本身理解起来,很简单。它通过指针或者叫引用,将一组零散的内存空间(结点),串联起来组成一个数据存储结构。链表根据其指针的指向和丰富程度...

2019-10-16 19:15:00 156

原创 微信开源了 Hardcoder,旨在解决手机「卡成狗」,但开发者先别高兴。

今年一月微信公开课 Pro 2019 上,提到的微信性能优化框架「Hardcoder」,近日终于开源了。微信开源的东西,作为 Android 开发,当然是双击 666 了。但是作为一名 Android 开发者,我更关心的是 Hardcoder 到底是什么?对我们 Android 开发者有什么影响?什么是 Hardcoder?Hardcoder 在 18 年微信就放出了消息,简单来说,Hardcod...

2019-10-10 08:10:00 105

原创 面试还在问 SparseArray?记住 3 句话,让你临时把佛脚抱好!

一. 序很多写程序的人都听说过一个公式,程序 = 算法 + 数据结构。而在 Java 中,自身已经提供了丰富的集合,来帮助我们处理和管理数据,但是多数情况下,我们比较常用...

2019-10-09 08:10:00 51

原创 Kotlin干掉了findViewById,但用不好也会有性能问题

题图@Skitterphoto一. 序自从 Google 宣布 Kotlin 为 Android 一等公民的身份后,大量的 Android 开发开始接触和使用 Kotl...

2019-09-25 08:20:00 111

原创 Android 本地化适配:RTL(right-to-left) 适配清单

本文首发自公众号:承香墨影(ID:cxmyDev),欢迎关注。一. 序越来越多的公司 App,都开始淘金海外,寻找更多的机会。然而海外市场千差万别,无论是市场还是用户的使用习惯,都有诸多的不同。当你接触一款出海 App 的时候,除了需要了解海外 Google Service 的整个生态圈,还要做好不同语言的适配。语言适配最通用的做法就是根据不同系统语言设定,配置不同的语言资源(string...

2019-09-23 16:47:43 180

Wireshark,数据包pcap分析工具

分析tcpjump抓包工具,抓取的pcap格式的数据包文件的工具。

2014-12-12

抓包工具tcpdump

Android上的抓包工具,tcpdump

2014-12-12

《Android深入浅出》书中Demo代码

《Android深入浅出》书中Demo代码

2014-08-26

《Android应用开发实战(第2版)》(李宁)(光盘源代码)

《Android应用开发实战(第2版)》(李宁)(光盘源代码)

2014-05-21

Universal-USB-Installer-1.9.5.2

Universal USB Installer(通用USB安装程序)是一个自启动Linux U盘创建工具,您可从大量精选的Linux发行版中挑选一个安装到您的U盘上。通用USB安装程序使用方便,只需选择自启动Linux发行版,ISO文件,和您的U盘,单击“安装”即可。其他功能包括,持续保存(如果可用的话),以FAT32格式格式化U盘(推荐)确保一个干净的安装。安装完成后,您即拥有了一个安装了您所喜欢的Linux版本的自启动U盘。 详细使用可以参加博客:http://www.cnblogs.com/plokmju/p/Linux_InstallUbuntu.html

2014-05-06

Android下传感器应用Demo

演示在Android下使用SDK进行传感器开发,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SensorManager.html

2014-04-24

Android下图片颜色变换处理Demo

Android下图片颜色变换处理Demo,详细参见博客:http://www.cnblogs.com/plokmju/p/android_ColorMatrix.html

2013-12-11

Android下使用Matrix进行图形变换处理的Demo

Android下使用Matrix进行图形变换处理的Demo,详细参见博客:http://www.cnblogs.com/plokmju/p/android_Matrix.html

2013-12-09

Android下使用Canvas画图

Android下使用Canvas画图,详细参见博客:http://www.cnblogs.com/plokmju/p/android_Canvas.html

2013-12-08

Android--从系统Camera和Gallery获取图片优化

Android--从系统Camera和Gallery获取图片优化http://www.cnblogs.com/plokmju/p/android_BitmapRecycle.html

2013-12-06

Android下从系统自带的Gallery应用中获取图片Demo

Android下从系统自带的Gallery应用中获取图片Demo,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SysGallery.html

2013-12-04

Android下补间动画demo

Android下补间动画demo,详细参见博客:http://www.cnblogs.com/plokmju/p/android_TweenAnimation.html

2013-12-03

Android下逐帧动画的Demo

Android下逐帧动画的Demo,详细参见博客:http://www.cnblogs.com/plokmju/p/android_AnimationDrawable.html

2013-12-03

Android中通过MediaRecorder录音录像

Android中通过MediaRecorder录音录像,详细参见博客:http://www.cnblogs.com/plokmju/p/android_MediaRecorder.html

2013-12-01

Android下使用VideoView配合MediaController播放视频Demo

Android下使用VideoView配合MediaController播放视频Demo,详细参见博客:http://www.cnblogs.com/plokmju/p/android_VideoView.html

2013-11-27

Android下使用Camera硬件拍照Demo

Android下使用Camera硬件拍照Demo,详细参见博客:http://www.cnblogs.com/plokmju/p/android_Camera.html

2013-11-27

Android下使用SurfaceView播放视频文件

Android下使用SurfaceView播放视频文件,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SurfaceView.html

2013-11-26

Android如何调用系统现有的照相机拍照与摄像

Android如何调用系统现有的照相机拍照与摄像,详细参见博客:http://www.cnblogs.com/plokmju/p/Android_SystemCamera.html

2013-11-25

Android下使用SoundPool的示例

Android下使用SoundPool的示例,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SoundPool.html

2013-11-24

Android 使用MediaPlayer高级

Android使用MediaPlayer高级内容,详情参见博客:http://www.cnblogs.com/plokmju/p/android_MediaPlayerHigh.html

2013-11-22

Android下MediaPlayer播放MP3示例

Android下MediaPlayer播放MP3示例,详细参见博客:http://www.cnblogs.com/plokmju/p/android_MediaPlayer.html

2013-11-20

Android下展示大分辨率图片示例

Android下展示大分辨率图片示例,详细参见博客:http://www.cnblogs.com/plokmju/p/android_LoadBigImage.html

2013-11-19

Andriod下读取图片Exif信息Demo

Andriod下读取图片Exif信息Demo,详细参见博客:http://www.cnblogs.com/plokmju/p/android_exif.html

2013-11-15

Android-BroadcastReceiver高级应用

Android-BroadcastReceiver高级应用,详细参见博客:http://www.cnblogs.com/plokmju/p/android_SystemBroadcastReceriver.html

2013-11-13

Android的BroadcastReceiver简单示例

Android下BroadcastReceiver的简单示例。详见博客:http://www.cnblogs.com/plokmju/p/android_BroadcastReceiver.html

2013-11-12

Android服务Aidl的示例demo

Android下Aidl的使用,详细请参见博客:http://www.cnblogs.com/plokmju/p/android_Service_aidl_NormalType.html 和 http://www.cnblogs.com/plokmju/p/android_Service_aidl_CustomType.html

2013-11-10

对象序列化成XMLDemo

对象序列化成XML格式数据的示例代码,详细可以查看博客:http://www.cnblogs.com/plokmju/p/android_XmlSerializer.html

2013-11-07

Android下Fragment的使用

Android下Fragment的使用,详细可以参见博客:http://www.cnblogs.com/plokmju/p/android_Fragment.html

2013-10-25

Android_Service通信

Android下的服务与其他组件之间的通信,跨进程通信等示例。具体可以参见博客:http://www.cnblogs.com/plokmju/p/android_ServiceCommunication.html

2013-10-22

Android_Service的高级应用示例

Android中Service组件的一些高级应用,具体查看博客:http://www.cnblogs.com/plokmju/p/Android_Service2.html

2013-10-22

Android中Service组件的使用

Android下Service组件的简单使用,具体可以参见博客:http://www.cnblogs.com/plokmju/p/Android_Service1.html

2013-10-20

Android下从网络获取数据实现图文混排效果

Android下从网络获取数据实现图文混排效果,详细可以参见博客:http://www.cnblogs.com/plokmju/p/android_ImageOrText.html

2013-08-19

Android中多线程的Handler原理

Android中多线程的Handler的工作原理,其中涉及到MessageQueue和Looper。详情可以参见博客:http://www.cnblogs.com/plokmju/p/android_Looper.html

2013-08-19

在Android中使用AsyncTask和Handler线程间交互的方式

在Android中使用AsyncTask和Handler线程间交互的方式,详情参见博客:http://www.cnblogs.com/plokmju/p/android_AsyncTask.html和http://www.cnblogs.com/plokmju/p/android_Handler.html

2013-08-18

Android下线程与进程

Android下线程与进程,详细可以参见博客:http://www.cnblogs.com/plokmju/p/android_ProcessOrThread.html

2013-08-17

Android下使用loaderManager

Android下使用loaderManager,详情可以参见博客:http://www.cnblogs.com/plokmju/p/android_Loaders.html

2013-08-14

Android中ContentProvider的示例

Android中ContentProvider的示例,详细可以参见博客:http://www.cnblogs.com/plokmju/p/android_ContentProvider.html

2013-08-12

Android下菜单的使用

Android下菜单的使用,低版本和高版本分别演示了,详细请参见博客:http://www.cnblogs.com/plokmju/p/android_Menus.html

2013-08-10

Android下使用对话框的例子

Android下使用对话框的例子,详细内容可以参见博客:http://www.cnblogs.com/plokmju/p/android_dialog.html

2013-08-09

Android下使用JUnitTest用例

Android下使用JUnitTest用例,可以参见博客:http://www.cnblogs.com/plokmju/p/Android_JUnit.html

2013-08-06

空空如也

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