5 尘埃zza

尚未进行身份认证

搜索关注“开发者营地”公众号,持续分析优质技术文章

等级
TA的排名 3w+

Leetcode数据结构与算法(五)

[0065]汉明距离两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。给出两个整数 x 和 y,计算它们之间的汉明距离。注意:0 ≤ x, y < 231.示例:输入: x = 1, y = 4输出: 2解释:1 (0 0 0 1)4 (0 1 0 0) ↑ ↑上面的箭头指出了对应二进制位不同的位置。方法一:异或...

2020-05-04 09:36:27

D-Bus 详解:从编译到应用

一、简介D-Bus是一种消息总线系统,是进程间通信 (IPC)的系统。从体系结构上讲,它分为三层:一个库libdbus,它允许两个应用程序相互连接并交换消息。一个消息总线守护程序的可执行文件dbus-daemon,建立在libdbus之上,多个应用程序可以连接。守护程序可以将消息从一个应用程序路由到零个或多个其他应用程序。基于特定应用程序框架的绑定或包装程序库。例如,libdbus-g...

2020-04-25 14:21:09

Android10源码下载与编译(Mac移动硬盘)

创建区分大小写的磁盘映像Mac系统默认磁盘,文件系统运行不区分大小写。Git 并不支持此类文件系统,而且此类文件系统会导致某些 Git 命令(例如 git status)的行为出现异常。因此,建议始终在区分大小写的文件系统中对 AOSP 源文件进行操作。有两种方式可以创建磁盘映像,具体操作如下:由于AOSP比较大,但是我们存放在移动硬盘上,更大的空间能够更好地满足未来的需求,所以预留200G...

2020-04-23 19:32:42

在Windows上编译 CEF3 且加入mp3/mp4的支持

现在因为工作需要,为了得到支持mp3、mp4的cef32和64位版本,需要编译cef3,本次编译版本是3239(6.0.3239.132)。

2019-09-03 23:02:38

Leetcode数据结构与算法(四)

[0049]二进制中1的个数请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。...

2020-04-17 10:19:01

Leetcode数据结构与算法(三)

Leetcode数据结构与算法###[0033]从尾到头打印链表输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000方法一: 栈/** * Definition for singly-linked list. * public class ...

2020-04-08 09:45:38

Leetcode数据结构与算法(二)

[0017] 二进制链表转整数给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。示例 1:输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)示例 2:输入:head = [0]输出:0示例 3:输入:head = [1]输出...

2020-03-26 10:20:39

Leetcode数据结构与算法(一)

[0001]求1+2+…+n求 1+2+...+n ,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。示例 1:输入: n = 3输出: 6示例 2:输入: n = 9输出: 45限制:1 <= n <= 10000解答:等差数列求和公式class Solution { ...

2020-03-20 10:07:58

Android开发艺术探索笔记

《Android开发艺术探索》这本书在几年前就已经买了,陆陆续续看过几次,都没有看完,没有理解透。最近重读《Android开发艺术探索》,读了两次,第一次读完感觉还有大量的知识点没有理解,再次阅读,练习书中例子,记读书笔记,理解加深了几分。[学习笔记]Android开发艺术探索:Activity的生命周期和启动模式[学习笔记]Android开发艺术探索:IPC机制[学习笔记]A...

2020-03-13 16:57:05

[学习笔记]Android开发艺术探索:Android性能优化

Android设备作为一种移动设备,不管是内存还是CPU的性能都受到了一定的限制,也意味着Android程序不可能无限制的使用内存和CPU资源,过多的使用内存容易导致OOM,过多的使用CPU资源容易导致手机变得卡顿甚至无响应(ANR)。这也对开发人员提出了更高的要求。本章主要介绍一些有效的性能优化方法。主要包括布局优化、绘制优化、内存泄漏优化、响应速度优化、ListView优化、Bitmap优化...

2020-03-13 16:44:57

[学习笔记]Android开发艺术探索:综合技术(Crash、Multidex、动态加载、反编译)

使用CrashHandler来获取应用的crash信息检测崩溃并了解详细的crash信息:首先需实现一个uncaughtExceptionHandler对象,在它的uncaughtException方法中获取异常信息并将其存储到SD卡或者上传到服务器中,然后调用Thread的setDefaultUncaughtExceptionHandler为当前进程的所有线程设置异常处理器。public ...

2020-03-13 16:43:41

[学习笔记]Android开发艺术探索:Bitmap的加载和Cache

Bitmap的高效加载BitmapFactory类提供四种方法:decodeFile、decodeResource、decodeStream和decodeByteArray;其中decodeFile和decodeResource间接的调用了decodeStream方法;这四个方法最终在Android底层实现。如何高效的加载Bitmap?核心思想:按需加载;很多时候ImageView并没有原始图...

2020-03-13 16:42:04

[学习笔记]Android开发艺术探索:Android的线程和线程池

在Android系统,线程主要分为主线程和子线程,主线程处理和界面相关的事情,而子线程一般用于执行耗时操作。在Android中,线程的形态有很多种:​ i. AsyncTask封装了线程池和Handler。​ ii. HandlerThread是具有消息循环的线程,内部可以使用handler​ iii. IntentService是一种Service,内部采用HandlerThread来执...

2020-03-13 16:40:41

[学习笔记]Android开发艺术探索:Android的消息机制

从开发的角度来说,Handler是Android消息机制的上层接口。Handler的运行需要底层的 MessageQueue 和 Looper 的支撑。MessageQueue是一个消息队列,内部存储了一组消息,以队列的形式对外提供插入和删除的工作,内部采用单链表的数据结构来存储消息列表。Lopper会以无限循环的形式去查找是否有新消息,如果有就处理消息,否则就一直等待着。 线程是默认没有L...

2020-03-13 16:39:42

[学习笔记]Android开发艺术探索:四大组件的工作过程之ContentProvider

ContentProvider是一个内存共享型组件,他通过Binder向其他组件乃至其他应用提供数据,当ContentProvider所在的进程启动的时候,ContentProvider会同时启动并且发布到AMS中,需要注意的是,这个时候ContentProvider的onCreate要先于Application的onCreate执行,这是四大组件一个少有的现象一个应用启动的时候,入口方法在Ac...

2020-03-13 16:37:37

[学习笔记]Android开发艺术探索:四大组件的工作过程之BoradcastReceiver

广播的注册过程静态注册:在应用的安装时由系统自动完成注册,具体来说是PMS(PackageManagerServer)来完成整个注册过程。其他三大组件也是。动态注册:从ContentWrapper的registerReceiver方法开始, 调用了自己的registerReceiverInternal方法。 private Intent registerReceiverInternal(B...

2020-03-13 16:36:18

[学习笔记]Android开发艺术探索:四大组件的工作过程之Service

Service有两种工作状态:启动状态:执行后台计算绑定状态:用于其他组件与Service交互Service的启动过程Service的启动从 ContextWrapper 的 startService 开始在ContextWrapper中,大部分操作通过一个 ContextImpl 对象mBase实现/frameworks/base/core/java/android/conten...

2020-03-13 16:34:39

[学习笔记]Android开发艺术探索:四大组件的工作过程之Activity

Activity是一种展示型组件,用于向用户直接地展示一个界面,并且可以接收用户的输入 信息从而进行交互,扮演的是一个前台界面的角色。Service是一种计算型组件,在后台执行一系列计算任务。它本身还是运行在主线程中 的,所以耗时的逻辑仍需要单独的线程去完成。BroadcastReceiver是一种消息型组件,用于在不同的组件乃至不同的应用之间传递消 息。ContentPro...

2020-03-13 16:33:28

[学习笔记]Android开发艺术探索:理解Window和WindowManager

Window是一个抽象类,具体实现是 PhoneWindow 。不管是 Activity 、 Dialog 、 Toast 它们的视图都是附加在Window上的,因此Window实际上是View的直接管理者。 WindowManager 是外界访问Window的入口,通过WindowManager可以创建Window,而 Window的具体实现位于 WindowManagerService 中,W...

2020-03-13 16:30:56

[学习笔记]Android开发艺术探索:动画深入分析

Android动画分为三种: View动画、帧动画、属性动画View动画View动画的作用对象是View,支持四种动画效果:平移 、缩放、旋转、透明。四种变换效果对应着Animation四个子类: TranslateAnimation 、 ScaleAnimation 、 RotateAnimation 和 AlphaAnimation 。这四种动画皆可以通过XML定义,也可以通过代码来动态...

2020-03-13 16:29:33

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 签到新秀
    签到新秀
    累计签到获取,不积跬步,无以至千里,继续坚持!
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。
  • 分享宗师
    分享宗师
    成功上传21个资源即可获取