自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 几个移动开发程序员朋友跳槽薪资翻倍了

从去年底到前几天,不断被各路跳槽的朋友刺激着,他们都跟我说着同一件事:跳槽了,薪资翻倍了,去一家叫做字节跳动的公司了。让我更加讶异的是一个在微博做移动开发的朋友跟我说他舍弃了年终奖,在春节之前就投入到这家公司的怀抱,这让我一度以为这个朋友是被传销了,后来认真上网查了下,原来字节跳动是那家擅长用算法给用户投喂内容的公司。说实话,我内心早就被这些个朋友成功跳槽的消息撩拨的春心荡漾了,在这春色融融的...

2019-03-14 15:59:05 13921 11

原创 Android人脸识别app——基于Face++,MVP+Retofit等系列高度解耦

最近公司项目比较空,花了点时间写了个人脸识别的app,可以查看你的性别、年龄、颜值、情绪等信息,利用的是 Face++ 的人脸识别API。本项目采用了 MVP 的架构,使用了 Retrofit、RxJava、Dagger、EventBus 等框架进行开发和解耦,利用 MaterialDesign 进行UI上的布局设计。主要的功能就是拍照,然后将照片传至 Face++ 服务器,进行人脸识别,获取返...

2019-01-15 21:14:41 3246 1

原创 Android 9.0 源码_机制篇 -- 全面解析 Handler 机制(原理篇)下

MessageQueue 中有两个比较重要的方法,一个是 enqueueMessage 方法,一个是 next 方法。enqueueMessage 方法用于将一个 Messag e放入到消息队列 MessageQueue 中,next 方法是从消息队列 MessageQueue 中阻塞式地取出一个 Message。在 Android 中,消息队列负责管理着顶级程序对象(Activity、Broad...

2019-01-15 21:13:19 1614

原创 Android 9.0 源码_机制篇 -- 全面解析 Handler 机制(原理篇)上

#开篇#核心源码#简述在整个 Android 的源码世界里,有两大利剑,其一是 Binder 机制,另一个便是 Handler 消息机制。消息机制涉及**MessageQueue/Message/Looper/Handler **这4个类。Handler 是 Android 中引入的一种让开发者参与处理线程中消息循环的机制。我们在使用 Handler 的时候与 Message 打交道最多...

2019-01-15 21:02:37 3032 1

原创 Android布局优化三剑客

前言在编写Android布局时总会遇到这样或者那样的痛点,比如:有些布局的在很多页面都用到了,而且样式都一样,每次用到都要复制粘贴一大段,有没有办法可以复用呢?解决了1中的问题之后,发现复用的布局外面总要额外套上一层布局,要知道布局嵌套是会影响性能的呐;有些布局只有用到时才会显示,但是必须提前写好,虽然设置了为invisible或gone,还是多多少少会占用内存的。要解决这些痛点,我...

2019-03-29 15:06:59 320

原创 Android 进程管理概述

一、task_structAndroid的进程管理建立在Linux内核的基础上。Linux内核通过一个被称为进程描述符的task_struct结构体来管理进程,这个结构体包含了一个进程所需的所有信息。它定义在include/linux/sched.h文件中或者Android的kernel/msm-4.9/include/linux/sched.h中。包含一下的信息:image其中,进程的状态...

2019-03-28 14:56:15 839

原创 从阿里平薪跳头条,值得吗?

从阿里平薪跳头条,值得吗?这两天一位供职于阿里的朋友跑来咨询我一个关于跳槽的问题,具体是这样的:朋友目前在阿里工作两年时间,刚拿到头条的 Offer,但非常纠结是否要接,所以来咨询下我的意见。而正好最近不少我的小专栏读者群里的读者也在参加面试,所以分享下我对于如何选择 Offer、选择个人成长还是薪资等问题的看法。从阿里平薪跳头条?听朋友说完,我当时想,目前本就金三银四,加上近几年如头条、...

2019-03-26 22:33:00 340

原创 9个Android模板激发您的下一个项目

应用程序模板是快速启动下一个项目或从其他人的工作中学习的好方法。本文列出了Envato Market上一些流行的Android模板。如果您正在寻找灵感,或者您正在构建Android应用并需要有关特定功能的帮助,那么您可以在其中一些模板中找到答案。所有这些模板都附带完整的源代码,因此您可以根据需要自定义应用程序。1. 餐厅查找器如果您想构建一个可以帮助用户找到附近餐馆的应用,请不要再犹豫了。Re...

2019-03-25 16:39:13 388

原创 终结篇:Android startActivity原理分析(基于Android 8.1 AOSP)

上:https://mp.csdn.net/mdeditor/88798326#上部分:Android startActivity原理分析(基于Android 8.1 AOSP)中:https://mp.csdn.net/mdeditor/88798414#中部分:Android startActivity原理分析(基于Android 8.1 AOSP)继上文两篇后直接挂代码转交给了另外...

2019-03-25 16:36:43 764

原创 中:Android startActivity原理分析(基于Android 8.1 AOSP)

继上篇总结------我们继续研读startActivityLocked函数https://mp.csdn.net/mdeditor/88798326#上部分:Android startActivity原理分析(基于Android 8.1 AOSP)废话少说,直接呈代码!int startActivityLocked(IApplicationThread caller, Intent int...

2019-03-25 16:34:31 465

原创 上部分:Android startActivity原理分析(基于Android 8.1 AOSP)

关于此课题我将分为上,中,下三部分解析应用进程内一 如何使用Intent做Activity的跳转Intnet intent = new Intent(MainActivity.this,TestActivity.class);startActivity(intent);我们通常会这样写,就能跳转到TestActivity中,但是你知道这简简单单的两行代码在我们庞大的安卓系统中经历了...

2019-03-25 16:32:20 660

原创 优化程序性能

优化程序性能编写高效程序需要做到如下几点1.选择适当的算法和数据结构。2.编写出编译器能够有效优化以转换成高效可执行代码的源代码(理解编译器的能力和局限性尤为重要)。3.针对运算量特别大的计算,将一个任务分成多个部分,并行的去计算。程序示例 typedef long data_ttypedef struct { long len; data_t *date}ve...

2019-03-21 17:24:21 285

原创 WebRTC 开发实践:编译 Android 平台源码

前面两篇文章分别介绍了如何利用 WebRTC API 实现一对一视频通话和多人视频会议,并给出了相应的 demo 程序,该 demo 是基于官方预编译好的库开发的。如果要想深入学习和研究 WebRTC,仅仅掌握偏上层的 API 接口是远远不够的,而是应该做到能自己编译和修改 WebRTC 源码,这样才能不受限制地根据自己的需要优化和改进产品的质量和效果。网上有很多介绍 WebRTC 源码编译的文...

2019-03-21 17:19:11 730

原创 Android开发实践:用脚本编译Android工程

一般情况下,我们都是使用Eclipse+ADT插件或者Android studio软件来编译Android工程的,其实,Eclipse或者Android studio仅仅是将一些编译命令封装到可视化界面里而已,通过shell脚本、ADT附带的一些命令以及Ant工具,我们完全可以将Android工程的编译过程自动化,直接通过运行脚本就得到最终的APK文件。Linux下用脚本编译c/c++程序至少需...

2019-03-21 17:17:27 555

原创 自由开发者的收入来源(程序员)

大家好,我是独立开发者—征途,此篇文章最早发布于去年12月份,总是会有人问,朝九晚六的工作受够了,太没意思,想辞职做独立开发者,成为自由职业人,我想说你以为工作没意思,辞职做自由职业,就能每天睡到自然醒,数钱数到手抽筋么。自由职业真的自由吗?其实能达到轻松挣钱,时间自由的自由职业者真的寥寥无几,说起来是自由职业者,如果你真的时间自由,没活闲着的时候,因为赚不到钱,压力巨大,觉都睡不好,所以每天...

2019-03-21 14:41:17 3477

原创 月薪三万的前端开发朋友辞职离京了

月薪三万的前端开发朋友辞职离京了一、曾经月入三万是不少人羡慕的薪资,就连马云之前演讲都说,“一个月有两三万块钱、三四万块钱,有个小房子、有个车、有个好家庭,没有比这个更幸福了,那是幸福生活。”但是!随着最近几年房价/房租的暴涨,如果在北京没有房子,月入三万也开始让人焦虑难耐了,尤其是当年龄来到 30 的门槛上,需要考虑结婚生子问题的时候。最近,我就因为一个月薪三万的前端开发朋友辞职离开北京...

2019-03-18 21:33:03 512

原创 程序员如何选择第一家公司?网友选择阿里还是去做官网?

对于有“相对技术”(任何公司的需求都会一点)的程序员,如何选择公司和职位也是一个值得思考的问题,因为你首先要有一个意向的公司和岗位,然后根据要求进行准备,类似考研选学校和专业,只不过这次你可以有个很多个选择。接下来我们来谈谈对公司的选择。(网友们有何高见可在评论区补充哦)0 知名外企知名外企一般指的是google,微软等国际知名互联网公司。这些公司在知名度,平台,技术影响力等方面的地位都难...

2019-03-18 17:05:47 326

原创 DeepCamera - 将相机转换为AI-Powered with Embedded / Android / Pi等。

什么是SharpAI DeepCameraARM GPU上的深度学习视频处理监控,用于人脸识别以及更多方法。将数码相机变成AI供电的相机。使用ARM GPU / NPU的边缘AI生产级平台,利用AutoML。面向开发人员/儿童/家庭/中小企业/企业/云的第一个世界级Edge AI全栈平台,由社区烘焙。用于深度学习边缘计算设备的完整堆栈系统,特别是使用图像刻录或Android apk安装的she...

2019-03-14 22:30:08 1081

原创 聊聊几个阿里 P8、P9 程序员的故事

阿里 P8 程序员年薪百万已经是公开的秘密了,有人关心他们年薪百万,而我更加关注阿里这些 P8、P9 程序员的成长故事,在聊这些大牛的故事之前,跟大家稍微简单聊下阿里技术人等级制度。P4/5:校招生为主P6: 独立的执行者,独立完成自己的工作P7: 行业的顾问,能对行业发展做出一定准确的判断P8: 行业的创新者,能结合判断有一定的创新P9: 行业的颠覆者,能使创新对行业产生一定的颠覆...

2019-03-13 21:57:41 7879

原创 Android 面试(一):说说 Activity 的四种启动模式

说说 Android 的四种启动模式这基本是一道必考题,和「 Activity 的生命周期 」一样,基本为必考题。其实很多人可能存在一个误区,觉得知道这个启动模式「launchMode」没什么意义,但我在毫无准备的前提下,被问到这个问题的时候,我被问的瑟瑟发抖。这些都是基本先普及下可能大多数人都知道的基本见解。standard 这是 Activity 的默认启动模式,每次激活 Acti...

2019-03-13 20:45:17 531

原创 面世宣言:给 Android 开发者的面试手册

序言关于面试系列部分我将分为六个专题来讲,有感兴趣的同学可以关注下。Android 面试(一):说说 Activity 的四种启动模式 Android面试(二):如何理解 Activity 的生命周期Android 面试(三):用广播 BroadcastReceiver 更新 UI 界面真的好吗? Android面试(四):Android Service 你真的能应...

2019-03-13 19:45:18 623

原创 Android性能优化篇之(二)序言及JVM篇

前言在内存方面,相比于C/C++程序员,咱们java系程序员算是比较幸运的,因为对于内存的分配和回收,都交给了JVM来处理了,而不需要手动在代码中去完成。有了虚拟机内存管理机制,也就不那么容易出现内存泄漏和内存溢出的问题了。不那么容易出现,并不代表就不会出现。正是由于程序员将内存的控制大权交了出去,那么一旦出现了内存泄漏和内存溢出的问题,如果虚拟机如何分配内存的工作机制不了解,那这就成了一个难以...

2019-03-12 22:09:41 208

原创 Android性能优化篇之(一)序言及JVM篇

序言笔者从事Anroid开发有些年头了,深知掌握Anroid性能优化更多关于 性能优化 的文章")方面的知识的必要性,这是一个程序员必须修炼的内功。在面试中,它是面试官的挚爱,在工作中,它是代码质量的拦路虎,其重要性可见一斑。在团队中,性能优化的工作又往往由经验丰富的老师傅来完成,可见要做好性能优化,绝不是一件容易的事情。性能优化方面涉及的知识点比较广,有理论基础知识,也有实际操作技能,笔者将...

2019-03-12 22:06:40 270

原创 BAT云战争新动向:收编“旧军”,占山为王

消费互联网培育出来的BAT,从来没有像今天这样重视To B的云服务。去年年中腾讯股价剧烈下滑,面对安身立命的游戏遭遇强监管,腾讯迷惘中迅速清醒,九月马上新建了云与智慧产业事业群(CSIG),将ToB业务提升到前所未有的重要位置。阿里是BAT中最早重点发力云计算的,11月26日,阿里更是完成了2015年之后最大一次组织机构调整,阿里云事业群升级为阿里云智能事业群。12月,百度宣布智能云事业部(A...

2019-03-11 22:28:56 2409

原创 如何更新Android应用程序的启动器图标

您可以通过为用户界面提供专业的外观来增加任何产品的价值。当用户喜欢他们在应用UI中看到的内容时,他们更有可能安装它。您的Android应用应遵循的设计,颜色,图标和其他UI元素有一组已定义的规则。在本文中,我们将坚持使用Android应用程序的图标,特别是 启动器图标。Android应用的图标分为几个类别。这些包括:启动器图标:此图标表示用户设备主屏幕或应用程序列表中的应用程序。这可以是 ...

2019-03-06 22:30:05 530

原创 YYModel源码学习

前言可从5方面去分析YYModel。– 文件结构:有哪些文件,每个文件大致的功能– 类结构及关联:有哪些类,类之间关联– 数据流向:debug,看数据是如何转换及看各函数之间的调用关系– 对重点模块进行剖析– 整理源代码中自己理解不深的点(如语法、关键字的运用)文件结构3部分,3000左右行代码– YYModel.h引入NSObject+YYModel.h 和 YYClassI...

2019-03-05 22:11:47 249

原创 Google Flutter From Scratch:使用小部件构建应用程序

Flutter正迅速成为开发跨平台移动应用程序的最流行框架之一。今天,大多数Android和iOS开发人员开始认为,它是一种比其他跨平台框架(如React Native和NativeScript)更快,更具面向未来的替代方案。谷歌本身不遗余力地吸引更多开发者加入。例如,Google I / O今年有几个深入的会议,专注于使用它开发符合Material Design标准的应用程序。在其中一次会议中...

2019-03-05 22:08:40 280

原创 前端开发工程师应该如何准备一场技术面试?

之前,在不同的时间点和不同的平台,曾经发表过一些关于面试或者职业规划的文章,包括在“在行”上和一些同学线下约见面对面聊这个话题,会发现不同的阶段有不同的感悟,包括面试方法、考察重点也在变化,但是发现有些东西却是亘古不变的,在此凝聚至文,希望对同行有帮助。另外,其实讨论面试的话题,其益处并非只是“应试”这一点,文中提到的准备面试的过程其实更多是一种学习、总结、提高的方法论,最终是让你真正的抓住方法...

2019-03-04 22:13:50 702

原创 面试真题4:lru最近很少使用算法(腾讯)

手写最近很少使用算法lru这道题在很多公司面试的时候都可能被问到,主要考察面试者对缓存算法的原理的了解。先来了解一下什么是最近很少使用算法?最近很少使用算法:就是根据最近访问的记录,对缓存的数据进行淘汰。也就是说,如果一个数据最近被访问,或经常被访问,则把数据放到列表的前面。而数据很久未访问,或者访问率较低,就会被放在对位,在队列内存不足的时候将其移除缓存队列,过程如图:Android中...

2019-03-04 22:11:59 860

原创 Google、B站……那些神奇的404页面,你看过多少?

据说在第三次科技革命之前,互联网的形态就是一个大型的中央数据库,这个数据库就设置在 404 房间里面。那时候所有的请求都是由人工手动完成的,如果在数据库中没有找到请求者所需要的文件,或者由于请求者写错了文件编号,用户就会得到一个返回信息:room 404 : file not found。404 错误信息通常是在目标页面被更改或移除,或客户端输入页面地址错误后显示的页面,人们也就习惯了用 404 ...

2019-03-04 22:10:38 5153

原创 Android:跟着实战项目学缓存策略之LruCache详谈

前几天更新了一篇异步任务AsyncTask的文章,用了两个小小的例子,总体来说比较简单。今天我就通过一个比较完整的新闻小项目来继续说下AsyncTask在项目中的使用方法。因为不再是一个简单的例子所以考虑的情况要比之前多得多,也复杂许多。同时由于项目中用到了最常用的ListView,所以ListView的优化也在本文的重点范围中。而优化的两个主要方面就是使用异步任务和控制异步任务执行的频率,也就...

2019-03-04 22:09:30 208

原创 头条 Flutter iOS 混合工程实践

体验 Flutter从 App Store 下载或更新头条(6.9.2 或以上版本),找到 懂车帝 -> 热门车型,点击打开后即可体验 Flutter 的页面效果。由于前期业务改造顺利,线上 Crash 少,性能良好,目前我们正在进行小视频模块的 Flutter 重构,即将上线。本文主要介绍头条 iOS 端在接入 Flutter 的过程中,选择的技术方案,遇到的问题和未来的计划。虽然...

2019-03-04 22:07:41 445

原创 Python指南:高级程序设计技术之过程型程序设计进阶

本文中,我们将学习多种不同的程序设计技术,并介绍很多附加的、通常也是更高级的Python 语法。1、过程型程序设计进阶本节没有任何新的语法,以之前的内容为基础给出一种有用的程序设计技术。1.1 使用字典进行分支Python 中,函数本身是一种对象,函数名就是对函数的对象引用。如果我们写一个函数名,其后面没有小括号,Python 会知道我们是将其当做对象引用。假设我们要做一个控制台程序,改...

2019-03-04 22:05:48 211

原创 2019 百度、头条、小米、360、网易、拼多多等公司 Android 社招面试心得

每到“金三银四”的季节,总人很多人去寻找名叫“面经”一样的东西,其实就是一个个具体的题目,然后临阵磨枪,去“背”答案,如果一直是这样的话,我相信你的能力不会有任何提高,即使工作三年五年也达不到高级工程师的水平,事实证明这类“程序员”占大多数。而且我认为一个“面经”真正有价值的内容是面试前你是如何学习的,面试中面对不会的题目你是如何回答的,以及面试后的你的感受和总结,而不是冷冰冰的罗列题目。最近...

2019-02-27 21:37:03 1156

原创 Android架构组件简介

Android在2005年被引入世界,在这12年的存在中,该平台取得了惊人的成功,成为安装最多的移动操作系统。在此期间,已经推出了14个不同版本的操作系统,Android总是变得更加成熟。然而,平台的一个非常重要的领域仍然被忽略:标准的架构模式,能够处理平台特性,并且足够简单,以便普通开发人员理解和采用。好吧,迟到总比没有好。在最后的Google I / O中,Android团队最终决定解决这个...

2019-02-18 17:02:24 236

原创 如何将多个选择添加到Android RecyclerView

该RecyclerView 小部件是当今大多数Android应用程序不可或缺的一部分。自从2014年末它被添加到Android支持库以来,它已经将ListView 小部件作为显示大型复杂列表的首选小部件而黯然失色。但是,缺少一个重要的功能:支持选择和跟踪列表项。RecyclerView Selection是谷歌今年3月发布的一个插件库,试图解决这个问题。在本教程中,我将向您展示如何使用新库创建一...

2019-02-18 16:27:55 311

原创 创建一个Android应用程序以使用Firebase ML识别面部轮廓

Firebase ML Kit是一组本地和基于云的API,用于向移动应用程序添加机器学习功能,最近已得到增强,可支持面部轮廓检测。由于这个强大的功能,您不再需要在检测面部时将自己限制为近似矩形。相反,您可以使用大量坐标来准确描述检测到的面部和面部标志的形状,例如眼睛,嘴唇和眉毛。这使您可以轻松创建人工智能应用程序,可以执行复杂的计算机视觉相关任务,如交换面部,识别情绪或应用数字化妆。在本教程中...

2019-02-18 16:26:02 884

原创 使用Espresso测试Android用户界面

在这篇文章中,您将学习如何使用Espresso测试框架编写UI测试并自动化测试工作流程,而不是使用繁琐且极易出错的手动过程。Espresso是用于在Android中编写UI测试的测试框架。根据官方文档,您可以:使用Espresso编写简洁,美观,可靠的Android UI测试。1.  为什么要使用浓缩咖啡?手动测试的一个问题是执行起来既费时又乏味。例如,要在Andr...

2019-02-15 21:44:12 511 1

原创 适用于商业的10款最佳Android应用模板

由于狂热的开发者社区和移动设备的日益普及,Android的商业应用程序是一个不断增长的市场。因此,毫不奇怪,业务应用程序模板也有需求,因为它们有助于减少编码的一些繁琐部分,并允许开发人员专注于使他们的应用程序独特的更有趣的工作。今天我将在CodeCanyon上找到10个适用于Android开发人员的最佳商业应用模板。我选择的应用模板涉及业务的各个方面,从提高生产力到保持最高开支,以及在更加拥...

2019-01-29 21:58:58 601

原创 快速提示:使用运行时资源叠加框架主题Android

没有多少人知道它,谷歌很少宣传它,但Android操作系统已经内置了一个主题框架几年了。它被称为Runtime Resource Overlay框架,简称RRO,它大大减少了为手机创建自定义主题所需的工作量。使用RRO,您可以快速创建可以改变几乎安装在Android设备上的每个应用程序的外观和感觉的主题。由于Android的系统用户界面组件(包括导航栏,状态栏,通知托盘和快速设置托盘)本身属...

2019-01-29 21:57:42 368

空空如也

空空如也

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

TA关注的人

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