- 博客(117)
- 资源 (4)
- 收藏
- 关注
原创 坚持写作是一个很难的事情
再说入职住宿,公司在offer下发的时候说明了,提供了7天的免费住宿,酒店在当地属于4星级左右了,环境还是不错的。最后讲下入职流程,当天到对应的中心去报道,然后直属带你跟同事熟悉后,就可以领取电脑了,领完电脑,基本从这个时候开始,你就可以开始装工作软件之类的了。总的来说还行,从余姚北到公司有公交车,公交车比较久,建议坐顺风车,大家提前预约余姚北->公司的顺风车,价格差不多在40RMB左右,排查顺风车可能等人的情况下,时间40Min左右。刚才看了一个博客,看完了我在下面留了一句:坚持写作是一件很难的事情。
2023-10-10 14:47:00 106
原创 BuildConfig is defined multiple times 问题解决
1、到build.gradle文件中,将包名称一致的修改掉。1、module包名与app包名写的一致。2、某两个module的包名称定义一致。Android编译时候遇到。2、clean,重新编译。
2023-03-03 15:38:02 6072
原创 巴菲特给女儿的一生忠告
他们始终认为,现在所做的小事是为今后的大事做准备,他们目光所及之处,是十分辽阔的沃野,是浩瀚无边的大海,而在常人眼中,现在所从事的工作,只是毫无生机的衰草和茫茫无际的沙漠。有些孩子恐怕最欠缺的就是独立思考的能力,上学的目的就是应付考试,每天填鸭式的接受知识,然后上更高级别的学校,继续学习知识。让孩子们找到自己的兴趣,寻找到自己的方向,把成才的钥匙握在自己手中,而家长只需给他们提供帮助和支持,这样就可以让孩子实现自己的梦想——说不定,你家的孩子,就是下一个朗朗,或者下一个马克·扎克伯格呢。
2023-01-25 13:26:52 2519 1
原创 Android工程上线前检查
安卓开发中,功能上线前,需要保证功能的稳定性,从以下几个方面来check1、应用签名,没有签名的应用是无法上线的2、应用加固和混淆检查,使用反编译手段,将自己打包好的工程进行检查,看下是否有问题3、功能点检,上线前除了以上两个就是功能的完整性了,如果什么都OK 功能异常,白搭4、从包体积、应用启动耗时、应用允许内存三个方面来进行check,保证不拖后腿。一般来说,阔以规定每个版本包体积增加的大小,启动耗时大小,以及内存增加大小。5、其次是检查代码编写,有条件的进行代码review,加上静态代码检
2022-11-21 17:09:03 517
原创 Dex加载优化
ART编译配置提速利用ART混合编译机制,牺牲部分安装性能提升启动速度adb rootadb shell cmd package compile -c -f -m speed appPackageNamecmd package 的帮助文档Package manager (package) commands: help Print this help text. path [--user USER_ID] PACKAGE Print the path to the .apk
2022-11-15 10:46:55 437
原创 Android 组件化 组件上下依赖关系实现
1、创建plugin工程2、自定义plugin实现Plugin接口3、在apply(Project)主入口方法内,完成插件的加载1、定义层级关系,从上往下依次为app/component/library/base,2、定位单个组件的类型定义等级,通过等级来控制是否可用做依赖例:将工程区分为api和impl模块,组件之间通信,只能依赖api模块3、自定义插件,如上4、主工程壳里面,实现组件的加载,具体实现代码分为:1、统一配置config.gradle插件部分:1、自定义plugin2、逻辑
2022-11-14 09:26:24 933
原创 Android gradle编译常见的使用方式
ext {当自定义文件位于工程根目录时,使用方式:1、文件引入apply from: “${rootProject.projectDir}/config.gradle”2、变量引用rootProject.projectDir.ext.test当自定义文件位于当前module目录时,使用方式:2、变量引用使用方式project.ext.test上面第一种local.property,将test变为代码内部变量的方式上面第二种config.gradle的配置变为代码内部变量的方式。
2022-11-03 12:03:18 737
原创 Android内存略知一二
当一个对象被另外一个对象持有,而这两个对象的生命周期不一样;当被持有对象的生命周期走完时,持有的对象生命周期还没有走完,这时候就会出现引用链不为空;3、非静态内部类持有外部类的引用,非静态内部类对象的生命周期比外部类对象生命周期长时;1、单例对象持有activity,activity生命周期走完还处于被引用的状态,此时无法回收,造成内存泄漏。也就是GERoots会持有一个对象的引用链,当引用链不为空时,代表当前对象不能被回收;此时又出现一个问题,这个没有被回收的对象,就会造成内存泄漏。
2022-11-03 10:47:46 701
原创 应用启动流程分析
主要原因是SystemServer进程由zygote进程孵化,存在一个先后顺序,无法使用binder通信;其次socket为单线程,binder为多线程,并且binder线程池占满会出现异常;fork进程操作本身是单线程的;5、随后执行new Activity,进而执行activity.oncreate()->onstart->onresume完成应用启动。2、AMS向zygote进程请求fork新的进程。4、再通过AMS绑定进程Appcalition。3、此时App进程启动起来。
2022-11-01 22:09:59 166
原创 腾讯Android 面试注意要点及面试题
1.注意的点A、整理一个项目中遇到的哪些棘手的问题,这些问题带来了什么问题,当时想了哪些解决方案,最终为何选择了这个方案,这个方案的结果是什么,后续应该如何在系统设计时提前考虑这些问题B、当面试官问你有什么想问的问题时。要注意不要问薪酬相关信息。主要问团队情况、过来做什么事情,可能会遇到的挑战C、开放性问题注意的点,开放性问题没有标准答案,核心就是不要把话说太死,以自己的了解说个大概即可。多方面考虑开放性问题。D、面试注意不要过于表现自己,根据面试官的问题,回答核心问题即可,有时隐藏部分实力,也是极
2022-03-02 20:15:13 2805
原创 什么是LBS
简介LBS是Location based service的简称,泛指一切基于用户或者设备位置提供的服务模式。所以其核心内容在于位置和服务:位置:用户在地理空间中唯一的编码,通常在地球上用经纬度来表示服务:基于位置的服务包含的内容比较广,从基础的语义位置到导航,到周边例如新美大这种餐饮娱乐服务,都可以称之为基于位置服务。所以在美团有一个非常重要的部门叫做LBS平台业务部。衍生出来,除了经典的地图应用、导航应用,LBS的包含范围非常之广:天气,通过用户当前位置提供天气情况餐饮娱乐等周边搜.
2022-03-02 20:01:59 3134
原创 okHttp 责任链模式调用地方
RealInterceptorChain.java 142-153// Call the next interceptor in the chain. RealInterceptorChain next = new RealInterceptorChain(interceptors, streamAllocation, httpCodec, connection, index + 1, request, call, eventListener, connectTimeout,.
2021-03-02 10:29:41 154
原创 职场修炼系列(Ⅰ)-- 向上沟通
这是《职场修炼》系列的第一篇为什么开设这个专题呢?因为最近工作上面出现了一些状况,导致我感觉自己在小组的角色和领导中的角色,发生了一些微妙的变化,无从说起,但真的感觉很微妙。所以,近期花了很大力气去学习职场中的一些沟通,以及如何和同事们相处,第一个感触很深的就是向上沟通,很多事情在我身上都能找到一些原型。比如:1、不及时沟通2、带着情绪沟通3、工作很努力,但结果却不尽人意。等等首先讲一个案例吧,就是我自身的一个故事:有一次跟其他部门的一个合作上面,由于工作当时安排的比较紧,导
2021-02-28 22:31:48 549 3
转载 计算机领域职业简介-PM,RD,FE,UE,UI,QA,OP,DBA,BRD,MRD,PRD,FSD等缩写的全称解析
本文转载至:https://www.manro.com.cn/news/article.php?colid=222&id=280 PM项目经理(ProjectManager)从职业角度,是指企业建立以项目经理责任制为核心,对项目实行质量、安全、进度、成本管理的责任保证体系和全面提高项目管理水平设立的重要管理岗位。项目经理是为项目的成功策划和执行负总责的人。项目经理是项目团队的领导者,项目经理首要职责是在预算范围内按时优质地领导项目小组完成全部项目工作内容...
2021-02-27 10:30:20 3102
原创 如何编写商业计划书
第一,用几句话清楚说明你发现目前市场中存在一个什么空白点,或者存在一个什么问题,以及这个问题有多严重,几句话就够了。很多人写了三百张纸,抄上一些报告。投资人天天看这个,还需要你教育他吗? 第二,你有什么样的解决方案,或者什么样的产品,能够解决这个问题。你的方案或者产品是什么,提供了怎样的功能? 第三,你的产品将面对的用户群是哪些?一定要有一个用户群的划分。 第四,说明你的竞争力。为什么这件事情你能做,而别人不能做?是你有更多的免费带宽,还是存储可以...
2020-12-05 18:00:40 224
原创 Java GC(Garbage Collection,垃圾回收)
GC(Garbage Collection,垃圾回收)如何识别“垃圾”对象,回收“垃圾”对象,有必要介绍一下:1、通过一系列名为“GC Roots”的对象作为起始点,从这些根节点开始向下搜索,搜索所走过的路径称为引用链(Reference Chain);2、当一个对象到 GC Roots 没有任何引用链相连时,该对象视之为可回收的“垃圾“对象。3、当然,右侧的G和H,单独的F对象,他们没有引用链,所以妥妥的是可回收的“垃圾”对象;而ABCDE对象,都是不可回收的。至于那些对象可做G.
2020-11-17 21:52:20 463 2
原创 Android R 、Android 11 API 30差异报告解读
本文基于Android开发者网站的API参考和差异报告部分进行应用开发中常用的重点API变化进行解读分析,目的在于了解Android11的API差异,了解Android11新增接口能力的同时适配目前正在使用的接口的变化。2、重点API差异解读 需要重点关注的API差异汇总如下:Manifest.permission中新增三个权限:LOADER_USAGE_STATS、MANAGE_EXTERNAL_STORAGE、QUERY_ALL_PACKAGES Intent内新增一个创建...
2020-11-11 16:33:28 2418
原创 Kotlin入门介绍
首先,参考官方开发文档:官方文档目录一、Kotlin介绍二、Kotlin最基础语法三、Kotlin与Java完全兼容吗?四、新手使用Kotlin常遇到的问题五、Kotlin高阶函数六、其他本文需要掌握的内容1、Kotlin开发环境搭建2、Kotlin与Java的相互调用3、学会如何把Java代码转成Kotlin,并能正常运行4、了解Kotlin最基本的3个不同于java的特点5、了解什么是高阶函数,常用的Kotlin高阶函数一、Kotlin介绍Ko
2020-09-27 13:42:14 809
原创 java.util.ServiceConfigurationError:终极解决办法、AutoService问题
java.util.ServiceConfigurationError:05-23 15:07:55.597 5382 5453 E AndroidRuntime: at java.util.ServiceLoader.fail(ServiceLoader.java:233)05-23 15:07:55.597 5382 5453 E AndroidRuntime: at java.util.ServiceLoader.access$100(ServiceLoad...
2020-05-23 15:15:24 8130
原创 Android native crash 信号量signal对应的含义
与 Java 平台不同,C/C++ 没有一个通用的异常处理接口,在 C 层,CPU 通过异常中断的方式,触发异常处理流程。不同的处理器,有不同的异常中断类型和中断处理方式,linux 把这些中断处理,统一为信号量,每一种异常都有一个对应的信号,可以注册回调函数进行处理需要关注的信号量。所有的信号量都定义在<signal.h>文件中,这里我将几乎全部的信号量以及所代表的含义都标注...
2020-04-17 10:30:27 1806 1
原创 获取随机经纬度、经纬度范围
//获取随机经纬度public Map<String, Double> randomLonLat(double MinLon, double MaxLon, double MinLat, double MaxLat) { BigDecimal db = new BigDecimal(Math.random() * (MaxLon - MinLon) + Mi...
2020-03-30 21:29:04 1765
原创 java.lang.NoSuchMethodError: No static method encodeHexString([B解决
01-08 18:29:25.534 20184 20184 E AndroidRuntime: java.lang.NoSuchMethodError: No static method encodeHexString([B)Ljava/lang/String; in class Lorg/apache/commons/codec/binary/Hex; or its super classes...
2020-01-08 19:03:03 2454
原创 Android bitmap 转RGB数组(三通道)、RGB数组(单、三通道)转回Bitmap、bitmap Resize 512
直接上工具类,简单易懂import android.graphics.Bitmap;import android.graphics.Matrix;/** * bitmap and rgb bytes dual transfer * * @author guochao * @version 1.0 * @since 2019/12/12 */public class ...
2020-01-07 11:11:46 4851 1
原创 AccessibilityAction.ACTION_SCROLL_DOWN实现滑动
相信大家在使用辅助服务的时候,肯定有过使用AccessibilityAction来实现滑动的时候这里介绍两个API ACTION_SCROLL_DOWN 、ACTION_SCROLL_TO_POSITION两个用法如下,Google官方传送门Bundle argument=new Bundle();node.performAction(AccessibilityNodeInfo...
2019-08-29 16:32:30 2996
原创 Android 8.0 悬浮框覆盖状态栏
设置Parms参数params.flags=WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN属性,即可覆盖状态栏
2019-07-31 15:55:51 2298 1
原创 Android dalvik虚拟机内部机制详解(2)____内存管理原理
为了保证Android系统的正常运行和应用程序的稳定性,Dalvik虚拟机的内存管理机制在整个虚拟机系统中占用非常重要的位置。此文章会解决以下五个问题:1.内存管理机制中涉及的关键数据结构2.内存管理机制中涉及到的关键函数3.内存分配的算法和流程4.当前主要的垃圾回收算法5.垃圾回收的流程首先来看一下,内存管理机制在dalvik虚拟机中,与其他模块的协助关系,如下图:...
2019-06-18 16:16:46 992
原创 Android高级、资深、技术专家 大厂面试题分享
题目来自19年3月移动端大厂面试题分享 :我对面试题进行了简单整理原文目录按照公司分类我这里从技术模块类分类这样大家就能针对性准备了。我喜欢收集面试题,也喜欢查找答案,写对应的demo,这对于我来说,是工作之余,提升自我的一个大方向。1.基础组件1.对Activity启动流程的了解:AMS和ActivityThread涉及到的源码?2. Fragment和Activit...
2019-05-30 18:01:27 2333
原创 Android 面试系列(三)Android 技术相关
又来更新面试题库了,这次是Android技术相关的面试题,还是那句话,每个题目,都有一套标准答案,但是从每个人的理解程度来说,又不是显得那么统一,大家看到题目的时候,记得还是多花时间去找下答案,跟下源码,最终你会收获很多~直接上题把,这些题目,我在面试中遇到过,也问过别人,希望大家重点对待!1.Android 事件分发机制原理和具体需要使用的场景2.Handler实现原理3.Ree...
2019-05-23 19:51:34 314
原创 scanning files to index / Android Studio导入源码不停的scanning files
刚开始接触编译Android 源码,Android studio导入源码后,不停的scanning files to index在网上找了两个方案:1.File>InvalidateCaches/Restart 未生效(不知道我这边为什么没有生效,根据我后续的解决方案,我觉得有可能是因为我下面的配置信息填写不对。)2.File > Project Structure ...
2019-05-22 09:45:59 1755
原创 Android Media Player 支持的所有多媒体格式(多媒体CTS规范)
本文档描述了Android平台提供的媒体编解码器、容器和网络协议支持。 作为应用程序开发人员,您可以使用任何Android设备上可用的任何媒体编解码器,包括由Android平台提供的媒体编解码器和特定于设备的媒体编解码器。但是,最好使用与设备无关的媒体编码配置文件。下表描述了安卓平台内置的媒体格式支持。 不能保证在所有Android平台版本上都可用的编解码器在括号中注明,例如:...
2019-05-21 15:17:52 4514
原创 Android 面试系列(二)Android 组件相关
一提到Android 组件,相信大家都不陌生,但面试的时候,有些问题答不出来,就是因为大家只侧重于用,而没有进行源码解读,导致一些问题,深入后就完全不知道了。比如我前两天面试的时候,来面试的是一个3年开发经验的同学,我问他Activity在哪实例化的,他回答在Manifest.xml注册的,然后我说你再想想,他回答我代码里面可以new一个。。。下面贴一些关于Android组件的基础和深入一...
2019-05-20 17:52:53 223
原创 Android 获取当前系统支持的所有语言以及当前系统的语言
/** * 获取当前系统支持的语言集 * @return */ private List<String> getLanguages(){ List<String> list=new ArrayList<>(); Locale[] lg = Locale.getAvailableLocales...
2019-05-20 17:32:26 3212
原创 Android 面试系列(一)基础知识模块
此篇包含了Java基础知识和一些网络、计算机相关的基础知识基础是检验一个开发人员的基础知识掌握情况和对开发的热爱程度,同时也是对一些东西深层次的理解能力的体现是面试中的必选项和加分项,要求重点掌握之前在准备这个系列的时候,一直在想要不要把答案直接贴出来,后来想了想,寻找面试题答案的过程,远远比直接背面试题答案的效果要好,所以我这里不贴出答案了,这些问题都是我在自己实际中面试遇到的...
2019-05-11 17:19:27 364
原创 AMS源码详解第一篇------构造函数详解
//构造函数 // Note: This method is invoked on the main thread but may need to attach various // handlers to other threads. So take care to be explicit about the looper. //注意:此方法在主线程上调用,但可能...
2019-05-07 18:57:29 871
原创 记Android Framework开发之前
今天是4月的最后一天,金三银四已经正式结束了。我也在这个节点,成功的从Android 纯应用开发,转为了Android FrameWork开发,节后就直接入职,具体公司不方便透露了。先总结下面试,然后是面试过程,和我入职的准备过程。面试第一轮,技术面试面试采用电话面试的形式,根据我的判断,对面是一个做Android Framework开发的leader或者是经验丰富一点的同事,自我介绍...
2019-04-30 12:15:23 3466 2
原创 Android架构师——思维导图
参考:https://blog.csdn.net/csdn_aiyang/article/details/77933165
2019-04-26 14:37:58 812
原创 Android App架构设计理解和扩展
本文主要是针对于个人的一些理解,和平时真正能用上的。如果有不妥之处,说明还是我个人技术不过关,希望大家多多指正。首先来说,一切得看需求、周期、环境。这三个方面啥意思呢1.需求,就是具体的需求文档,设计文档,和应用所需要达到的高度和深度(具体点可以指日活、平均使用时长、累计用户等)2.周期就是应用开发的周期时间,测试时间(是否有A/B测试),后期维护时间,整个生命周期3.环境,就...
2019-04-10 13:14:21 830
6-034-fall-2010.zip|6-034-fall-2010.zip
2020-10-08
麻省理工学院MBA金融学课件
2020-09-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人