从事Android开发6年,是一名为自己而活的码农!
一、概述 基本特征 1. 并发 并发是指宏观上在一段时间内能同时运行多个程序,而并行则指同一时刻能运行多个指令。 并行需要硬件支持,如多流水线、多核处理器或者分布式计算系统。 操作系统通过引入进程和线程,使得程序能够并发运行。
前言 金三银四,又是一个跳槽的季节。在面试的过程中,有时候难免会碰到一些算法题目。今天,为大家整理了二分查找常见的算法题。 主要包括以下三点 旋转数组中的最小数字 在旋转数组中查找某个数 排序数组中某个数的出现次数 旋转数组的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。
针对Android的性能优化,主要有以下几个有效的优化方法: 1.布局优化 2.绘制优化 3.内存泄漏优化 4.响应速度优化 5.ListView/RecycleView及Bitmap优化 6.线程优化 7.其他性能优化的建议 下面我们具体来介绍关于以上这几个方面优化的具体思路及解决方案。
分3个大步骤: 1.在flutter中调用原生方法 2.在Android中实现被调用的方法 3.在iOS中实现被调用的方法 在flutter中调用原生方法 场景,这里你希望调用原生方法告诉你一个bool值,这个值的意义你可以随意定,这里表示的意义是是否是中国用户。
文章大纲 一、OkHttp简介 二、OkHttp简单使用 三、OkHttp封装 四、项目源码下载 一、OkHttp简介 1. 什么是OkHttp 一般在Java平台上,我们会使用Apache HttpClient作为Http客户端,用于发送 HTTP 请求,并对响应进行处理。
文章大纲 一、什么是RxJava 二、为什么要用RxJava 三、RxJava使用详解 四、项目源码下载 一、什么是RxJava Rx(Reactive Extensions)是一个库,用来处理事件和异步任务,在很多语言上都有实现,RxJava是Rx在Java上的实现。
划重点: 996 是指每天早上 9 点上班,晚上 9 点下班,每周上 6 天班 至于剩下的那天能不能休息,全靠天意 没有家,即使有,也只是个补充睡眠的窝 01、 最近,我这个程序员所在的圈子里发生了一件天大的事。
之前面试,面试官问到多线程通讯,巴拉巴拉说了些基础实现后面试官问handlerThread的底层实现,就卡住了。所以把Android多线程的知识点复习整理一下,写出来加深印象。 Android多线程通讯的核心是handler、looper、message、messageQueue,这篇文章就先记录下这套系统的源码要点,具体的实现方法下一篇文章再写。
Java容器类 Java容器类是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。Java容器主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections)**【文章纯干货 请仔细阅读哦!】** 通过上图,可以把握两个基本主体,即Collection和Map。
Java容器类 Java容器类是java提供的工具包,包含了常用的数据结构:集合、链表、队列、栈、数组、映射等。 Java容器主要可以划分为4个部分:List列表、Set集合、Map映射、工具类(Iterator迭代器、Enumeration枚举类、Arrays和Collections) 【文章纯干货 请仔细阅读哦!】 通过上图,可以把握两个基本主体,即Collection和Map。
从我经历了国企、外企、创业和 BAT,通过自己的亲身体会告诉大家,如果你想要在国内长期发展,请尽早进入大厂。我简单的把自己的体会归纳为如下几点,希望对金三银四准备跳槽的你有一些帮助: 01 公平 我们大家都知道一线城市比二线城市更公平,更开放。
随着“5G”(第五代移动通信技术)商用进程越来越快,各个芯片和终端厂商们都已经开始布局准备,想必智能手机会是消费者最先能够接触到5G的重要终端,而和其相辅相生的移动互联网也势必会有新的发展。 但是和行业本身的发展不相称的是, Android 开发者的市场需求仿佛处于寒冬。
阿里四面有三面都问了这个问题,在此做了整理,希望可以帮助到大家,欢迎查漏补缺。 数据处理和视图加载分离 我们知道,从远端拉取数据肯定是要放在异步的,在我们拉取下来数据之后可能就匆匆把数据丢给了 VH 处理,其实,数据的处理逻辑我们也应该放在异步处理,这样 Adapter 在 notify cha...
资源匹配 字符资源values、布局资源layout、图片资源drawable,都可以在文件夹后添加国家后缀,放对应语言的资源。则系统会根据设置的语言自动去找对应语言的资源,如果没有设置的系统语言资源,则会拿去拿默认资源(values、layout、drawable文件夹下)。
Google 为了帮助 Android 开发者更快更好地开发 App,推出了一系列组件,这些组件被打包成了一个整体,称作 Android Jetpack ,它包含的组件如下图所示: 老的 support 包被整合进了 Jetpack,例如上图 Foundation 模块的 AppCompat,整合进去之后,包名做了一下修改,全部以 androidx 开头。
代码是一个程序猿的门面,有门面的程序猿才是一个好程序猿。推荐阅读:阿里腾讯Android开发十年,到中年危机就只剩下这套移动架构体系了! 本文节选自阿里巴巴开发手册,下载地址 本手册以开发者为中心视角分为Java语言规范(遵循《阿里巴巴Java开发手册》), Android 资源文件命名与使用,A...
前言 今天主要带大家一起分析下flutter是如何启动、初始化和加载dart代码的。这里有几点需要提前告知: 由于篇幅的问题,关于flutter界面创建、绘制过程将略过; 由于相关的c++代码比较多,而且较为复杂,建议先下载flutter engine的完整开发环境代码,阅读本文更方便; 本文只分析启动过程,参考的项目是基于android studio创建的一个默认flutter项目,以下简称demo。
本文采用Flutter官方WebView插件:https://pub.dartlang.org/packages/webview_flutter WebView与JS互相调用是一个刚需,但是貌似现在大家写的文章讲的都不是很清楚,我这个简易指南简单粗暴地分为两部分:JS调用Flutter和Flutter调用JS,拒绝花里胡哨,保证一看就懂,一学就会。
一、介绍架构 有关android架构方面的知识少之又少,而对与架构的理解有关架构的文章也都是智者见智仁者见仁。在我身边听到最多的话就是架构=What?、架构=框架、架构=设计模式、架构=MVP/MVVM。
前言 Handler消息处理机制在Android开发中起着举足轻重的作用,我们有必要好好理解下其原理,下面我们先从一个简单的例子出发 一、日常使用 假设我们有这么一个需要,请求网络然后将图片展示出来,我们知道网络请求是不允许在主线程执行的,而UI是不能在子线程(具体是不允许在非创建UI的原始线程)...
引言 最近Github出现一个非常火爆的项目叫996.icu,轰动海内外,成为近日各大媒体的头条新闻,截止到今天已有12万人的Star(点赞)。Github是一个全球最大的技术分享平台,但这个996.icu跟技术本身无关,“工作996,生病icu”,这是12万程序员对某些公司的强制996工作模式的一种抗议。
前言 一个在深圳从事开发五年的老友一个月前从原公司辞职后,昨天去腾讯总部面试Android高级岗,一面的时候,自我介绍后,陆陆续续问了很多问题,有着五年的从业经验很多项目开发的技术问题都回答的很通顺,面试官也很满意,就在最后以为自己要顺利通过时,【多线程——进程线程】,一个基础问题一时没有答上来就失去了二面的机会! 在我的身边不止发生了这一个大厂面试被拒的例子,所以从他们的身上我有总结出一个特点,无论是大厂BAT之类还是中厂,在面试过程中是逃不掉各类的开发基础问题,很多不注意的小细节正是打败我们的关键!走出自己的技术圈子,基础是必不可少的。
蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力、培训、出国、大公司的经历,还有很多很好的朋友。但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜我错过了,我用这五年时间和很多程序员一样在困惑和迷茫中找不到出路! 路其实一直都在那里,只是我们看不到而已! 以前我一直被公司和技术牵着走,并不是自己在选择技术,而是不自觉地被推到了这个位置上。
引言 2017年初Android市场饱和的传言一度甚嚣尘上。2018年经济寒潮下,众多大厂和曾经风口上的互联网企业也不得不裁员自保,通过小程序、前端渲染以达到原生的实现。 面对外界的纷繁复杂和技术栈的日新月异,我们更应该清楚认识到自身技术的短板来进行知识巩固。
金三银四,很多同学心里大概都准备着年后找工作或者跳槽。最近有很多同学都在交流群里求大厂面试题。正好我电脑里面有这方面的整理,于是就发上来分享给大家。 这些题目是网友去百度、小米、乐视、美团、58、猎豹、360、新浪、搜狐等一线互联网公司面试被问到的题目。