1 Android高级技术

尚未进行身份认证

我要认证

让程序不再简单,做一个有“钱途”的架构师

等级
TA的排名 9w+

被隐藏了,关于Android内存泄漏的那些事

概念内存泄漏(Leak):当一个无用的对象仍然被其它对象所持有引用,从而造成该对象无法被系统回收,以致该对象在堆中所占用的内存单元无法被释放而造成内存空间浪费。最坏的情况下,内存泄漏会导致内存溢出。内存溢出(OutIfMemoryError,OOM):为了允许多进程,Android为每个应用程序分配的堆大小设置了硬性限制。确切的堆大小限制根据设备有多少内存总量而有所不同。如果你的应用程序使用的内存已达到该限制并尝试分配更多内存时,系统就会抛出OutOfMemoryError。原因单例模式下使用A

2020-05-31 20:06:26

三分钟,带你了解Android音`视频开发进阶

正文说到安卓的视频开发,大多数朋友们都是用着开源的播放器,或者安卓自带的native mediaplayer,拿来主义居多,我曾经也是。。。最近这半年因为开始着手重构公司的播放器,也开始学习了很多视频音频开发的相关知识,抱着独乐乐不如众乐乐的想法,开始写一些值得分享的东西。这次的连载和之前的RxJava分享一样,会分开不容的章节。第一次我打算分享一下视频开发中常见的一些知识点,概念和术语,给不熟悉的朋友们先"扫扫盲"。在之后的章节我会慢慢的介绍除了基本的在线视频播放技术之外,一些更加“高级”的技术

2020-05-31 19:54:37

字节跳动选择Flutter的现状与工程实践

Flutter 是当前跨平台技术中最火的一项,在提供极好的用户体验的同时,还能解决多端一致性问题,并有效降低人力成本。字节跳动希望把 Flutter 打造成下一代研发体系,支撑众多 App 的各种使用场景,为此,团队在 Flutter 上大力投入,覆盖了引擎技术、平台服务、开发框架等多个维度。Flutter 在字节跳动的现状Flutter 的优势与业务现状为什么选择 Flutter其主要有以下四个原因:性能体验 开发效率 高度一致性 高可控制性性能体验与开发效率作为官方一直在宣传的两个重

2020-05-31 19:50:57

你有用过Flutter吗? Flutter架构是怎么样?为什么会比其他如ReactNative好?

面试官:你有用过Flutter吗? Flutter架构是怎么样,为什么会比其他如ReactNative好心理分析:面试官所在的项目是用Flutter 开发的,或者正在转Flutter这种技术。如果你不会,面试官在第一眼会认为后面来应聘的人或许会、为了杜绝这种情况发生,你一定要说以前研究过,写过相关代码。其实”有用过Flutter“对大多数求职只是 会与不会 的问题。这不是面试官 想了解的。面试官的重点 你了解的有多深。接下来,会问你他的原理 你是怎么看。 它的优缺点。为什么比其他的好。从原理层来解析...

2020-05-29 14:45:42

Android 调用相机拍照,适配到Android 10?

今天写的博客是关于Android调用手机相机拍照并显示图片。这是一个很常用的功能,并且这个功能在Android6.0、7.0、10.0等版本上实现都有所不同,需要对Android各个版本进行兼容适配,目前最新的Android版本是Android 10,所以这篇博客适配到Android 10。我自己也写了个demo,方便以后要使用的时候直接拿来。调用相机,首先需要申请相机权限。<uses-permission android:name="android.permission.CAMERA.

2020-05-29 14:39:59

Flutter之撸一个漂亮的登录界面的总结

介绍最近学习了Flutter的一些控件使用,然后在Github上面看见了一个挺漂亮的登录界面,于是就用Flutter自己模仿地实现了一下。原作者做得比较好看,不过只是单纯实现界面。所以自己加了些东西,比如Key的使用和InheritedWidget的使用。下面是一些总结,如果有说错的地方,还请各位指出来,谢谢。最终的展示界面代码结构每个类的名字,相信大家一看就知道对应的作用类。每个类的作用,我在代码里面都有注释,可以去看下代码。主要用到的控件 利用Row,Column沿水平

2020-05-29 14:31:59

对于Tersorflow你怎么理解的?有做过人工智能的应用吗?

面试官: 对于Tersorflow你怎么理解的,有做过人工智能的应用吗心理分析:了解tersorflow并且应用到项目中的,可谓少之又少。国内几乎没有多少Android开发者对人工智能有过认识。也不明白人工智能对Android带来的风险与机会。如果面试官问到了tersorflow 一定是想深挖你。在问这个问题就已经决定要你了。人工智能可以说相当重要,往往会忽略调并发处理 ,这道题会难住绝大多数人求职者:对人工智能的理解入手。告诉面试官 我以前做过一个电视机识别 手势的功能接下来我们来分享什么是

2020-05-28 16:07:20

我还是挂在了腾讯微视~Android开发5年,准备3个月

大家应该看过很多分享面试成功的经验,但根据幸存者偏差的理论,也许多看看别人面试失败在哪里,对自己才更有帮助。最近跟一个读者“MuMu”聊天,他准备了3个月,最近面了大大小小的互联网公司后,感觉还可以,又投了腾讯。刚刚参加了腾讯微视的第三面,视频面,嗯,挂了…小厂背景、15年毕业、普通学校,这看起来确实没什么战斗力,但能够挺到腾讯三面,也说明他是能力不错的了,但是输在哪儿了呢?他跟我讲了一下面试官问过的题:让我们来一起看看腾讯微视第三面,面试官都问了什么呢?你能答上来多少? ArrayLis

2020-05-28 15:50:11

Android程序员,你是如何被面试官加减分的!!!

由于肺炎疫情的影响,不少同学年初跳槽的计划被搁置。虽然计划被打乱,但是这也给我们留出时间更好的准备面试。随着企业复工时间的延长,不少公司裁员、降薪甚至倒闭,之后只会更难。看了不少「面试官说」系列的文章,都是由点及面的技术性文章,但真正的面试并不至于此,长时间的准备也容易对目标产生偏移,今天推荐给大家一篇字节跳动面试官的文章,看看大厂的面试官是怎么想的。头条面试官:“我也知道尽管很多人都讨厌” 面试造航母,工作螺丝钉 “的局面,但又不得不做准备,毕竟从大海筛选一个合适的人太难了” 确实大环境如此!

2020-05-27 15:59:14

理解Android硬件加速原理的小白文

硬件加速,直观上说就是依赖GPU实现图形绘制加速,软硬件加速的区别主要是图形的绘制究竟是GPU来处理还是CPU,如果是GPU,就认为是硬件加速绘制,反之,软件绘制。在Android中也是如此,不过相对于普通的软件绘制,硬件加速还做了其他方面优化,不仅仅限定在绘制方面,绘制之前,在如何构建绘制区域上,硬件加速也做出了很大优化,因此硬件加速特性可以从下面两部分来分析:1、前期策略:如何构建需要绘制的区域本文地址2、后期绘制:单独渲染线程,依赖GPU进行绘制无论是软件绘制还是硬件加速,绘制内存的分..

2020-05-27 15:47:10

干货拿走:深入解析Kotlin 泛型

0. 引子Kotlin 100% 与 Java 兼容,所以抛开语言表面上面的种种特质之外,背后的语言逻辑或者说“灵魂”与 Java 总是想通的。本文只涉及 Kotlin Jvm,Kotlin Js、Kotlin Native 的具体实现可能有差异。最近一段时间在网上发了一套 Kotlin 的入门视频,涵盖了基础语法、面向对象、高阶函数、DSL、协程等比较有特色的知识点,不过有朋友提出了疑问:这门课为什么不专门讲讲泛型、反射和注解呢?我最早听到这个问题的时候,反应比较懵逼,因为我居然没有感觉到 K

2020-05-27 15:41:08

当上阿里面试官后,才知道原来简历这么写

私下里,有不少读者问我:“二哥,如何才能写出一份专业的技术简历呢?我总感觉自己写的简历太烂了,所以投了无数份,都石沉大海了。”说实话,我自己好多年没有写过简历了,但我认识的一个同行,他在阿里,给我说了一些他当年写简历的方法论,我感觉太牛逼了,实在是忍不住,就分享了出来,希望能够帮助到你。01、简历的本质作为简历的撰写者,你必须要搞清楚一点,简历的本质是什么,它就是为了来销售你的价值主张的。往深处说,简历就是一块敲门砖,它通过白纸黑字的方式告诉招聘方,我是谁,我想来贵公司担任什么职位,我能够完成什么样

2020-05-26 16:28:20

阿里P7 Android面试真题解析:2020最新出炉(累计下载1082万次)

前言大家好!给大家介绍一下,这是我们持续更新整理的2020年最新的阿里;百度;腾讯;字节跳动等大厂的Android面试真题解析!早在2018年我们就建了第一个BAT等大厂的面试群给大家讨论面试的东西。期间累计有2158个群友分享了自己的Android面试真经,并提供了参考答案。这其中就有很多成员已经斩获今日头条、抖音、阿里P7等岗位的offer。当然也有很多成员面试虽然失败了,但也分享了很多失败的经验教训。在这里一并对他们表示感谢!正是因为大家的奉献和支持,让我们的这份面试真题解析已经累计下..

2020-05-26 16:18:04

干货分享:Android Studio 学习之 Debug 调试

前言正所谓,工欲善其事必先利其器,对于一个程序员来说,IDE就是我们器啊。IDE掌控的越熟悉,工作效率就越高(划水摸鱼的时间更多),所以要想效果更高(摸更多的鱼),就要好好学习如何使用IDE。作为一个Android开发是无疑是幸福的,背靠Google爸爸,加上JetBrain的加持(JB大法好),所以就有了最完美的(不接受反驳)IDE—Android Studio(下文都以AS简称),就是有点吃内存哈????,当然在16G内存的MBP上这些都不是事。虽然做了3年的Android开发,对于AS一直都是

2020-05-26 16:14:53

分享一下Android开发11年,我眼中程序员的三六九等

前言移动研发在最近两年可以说越来越趋于稳定,因为越来越多人开始学习Android开发,造成市场参差不齐。正所谓入门容易成长很难,对未来比较迷茫,不知道自己技能该怎么提升,并且对于初级中级高级需要怎么进行成才,很多人都比较迷惑。这是一线互联网公司Android岗位薪资职位图谱。为了方便大家成才,我把初级、中级、高级和资深四个常见的岗位需要掌握的一些知识进行如下整理。初级初级研发工程师的定义是掌握基础的Android知识,能够独立完成一个功能,工作年限大概在1-2年,这个层级大部分人通过看一

2020-05-25 16:36:15

赶紧收藏!!腾讯T3面试官透露!Android高级开发岗必问知识点

前言:春招已经接近尾声了,不知道各位小伙伴有没有找到自己心仪的工作呢。笔者前几天内推刚刚收获了腾讯高级开发岗的offer,得益于内推朋友面试时的面试经验,照着他给的方向复习刷题,顺利的通过了面试。在这里也无偿分享给广大网友们,喜欢也能帮助到你们。如果觉得文章不错,烦请点个关注转发,谢谢!Android高级知识点一、Android性能优化1.描述一下android的系统架构?2.Android线程间通信有哪几种方式3. 如何避免OOM异常4.Android程序运行时权...

2020-05-25 16:31:29

干货分享:Android线程池设计原理

进程:每个app运行时前首先创建一个进程,该进程是由Zygote fork出来的,用于承载App上运行的各种Activity/Service等组件。进程对于上层应用来说是完全透明的,这也是google有意为之,让App程序都是运行在Android Runtime。大多数情况一个App就运行在一个进程中,除非在AndroidManifest.xml中配置Android:process属性,或通过native代码fork进程。线程:线程对应用来说非常常见,比如每次new Thread().start都

2020-05-25 16:26:38

阿里权威官宣!深入了解Flutter,这一篇就够了

原文转自:腾讯技术工程当 Flutter 遇见 Web,会有怎样的秘密?在线教育团队(简称:OED)已经将 Flutter 这样技术在业务中落地了,做为 IMWeb 前端团队的我们也要进行一些尝试。本文从前端角度进行 Flutter 开发的概况描述。主要是为了让您了解和感受一下:Flutter to Web 的实例、Flutter 为什么会出现、Flutter 设计实现原理、Flutter 技术特点和优势。前言OED的客户端团队在 2019 年上半年 ,就已经把 Flutter 落地..

2020-05-23 21:26:37

三分钟,带你了解Activity的启动流程

考察要点:启动Activity会经历哪些生命周期回调 冷启动大致流程,涉及哪些组件,通信过程是怎么样的? Activity启动过程中,生命周期回调的原理?总的流程图:1. 进程A与AMS的交互过程此处以跨进程启动Activity分析一下源码流程: A调用startActivity时,需要与AMS交互,此时需要需要获取到AMS的代理对象Binder也就是上图的AMP,通过ActivityManagerNative.getDefault()获得,并调用AMP的startActiv.

2020-05-23 21:19:49

“吹Kotlin协程的,可能吹错了!” 带你真正理解一波

1概述目录前言Kotlin协程,现在已经成为了面试甚至是工作中一个非常火的东西。本人在刚开始了解Kotlin协程的时候,断断续续看了网上不少文章,用长篇大论把Kotlin协程描述的非常玄乎,但是看完后还是依然云里雾里,所以决定来写一篇关于协程的文章,希望能够帮助大家能够更快的上手Kotlin协程.注意:如果没有特殊提及,文中所有“协程”均代表“Kotlin协程”2为什么要学习Kotlin协程?(官方版)现在Android技术栈上的新东西层出不穷,kotlin、jetpack、

2020-05-23 20:55:30

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。