自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Android 面试技术整理(10)-优秀三方库源码

优秀三方库源码1.网络底层框架:OkHttp 实现原理2.网络封装框架:Retrofifit 实现原理3.响应式编程框架:RxJava 实现原理4.图片加载框架:Glide 实现原理5.事件总线框架:EventBus 实现原理6.内存泄漏检测框架:LeakCanary 实现原理7.依赖注入框架:ButterKnife 实现原理8.依赖全局管理框架:Dagger2 实现原理9.数据库框架:GreenDao 实现原理1.网络底层框架:OkHttp 实现原理https://www.jianshu.com/p/

2020-10-13 10:13:48 226

原创 Android 面试技术整理(9)-Android Framework 相关

Android Framework1、Android 系统架构1.应用程序2、Java API 框架3、系统运行库1原生 C/C++ 库2Android Runtime4、硬件抽象层 (HAL)5、Linux 内核2、View 的事件分发机制?滑动冲突怎么解决?3、View 的绘制流程?4、跨进程通信Android 中进程和线程的关系?区别?如何开启多进程?应用是否可以开启 N 个进程?为何需要 IPC?多进程通信可能会出现的问题?Android中IPC方式、各种方式优缺点,为什么选择Binder?Bind

2020-08-19 19:47:45 888

原创 Android面试整理(8)-性能优化

性能优化性能优化1.启动 app 黑白屏优化2.稳定——内存优化避免发生内存抖动的几点建议:(1)Memory Monitor 工具:(2)LeakCanary 工具:(3)Android Lint 工具:3.流畅——卡顿优化(1)布局优化(2)启动优化(3)优化工具4.节省——耗电优化(1)计算优化。算法、for 循环优化、Switch..case 替代 if..else、避开浮点运算。(2)避免 Wake Lock 使用不当。(3)使用 Job Scheduler 管理后台任务。5.安装包——APK 瘦

2020-08-15 15:42:13 679

原创 Android面试整理(7)-架构设计和设计模式

架构设计和设计模式1.谈谈你对 Android 设计模式的理解2.MVC MVP MVVM 原理和区别3.你所知道的设计模式有哪些?4.项目中常用的设计模式5.手写生产者/消费者模式6.写出观察者模式的代码7.适配器模式,装饰者模式,外观模式的异同?8.用到的一些开源框架,介绍一个看过源码的,内部实现过程。9.谈谈对 RxJava 的理解1.谈谈你对 Android 设计模式的理解从Android代码中来记忆23种设计模式https://www.jianshu.com/p/1a9f571ad7c02

2020-08-15 14:50:51 610

原创 Android面试整理(6)-插件化、模块化、组 件化、热修复、增量更新、Gradle

插件化、模块化、组 件化、热修复、增量更新、Gradle1.对热修复和插件化的理解2.插件化原理分析3.模块化实现(好处,原因)4.热修复、插件化5.项目组件化的理解6.描述清点击 Android Studio 的 build 按钮后发生了什么7.彻底搞懂 Gradle、Gradle Wrapper 与 Android Plugin for Gradle 的区别和联系1.对热修复和插件化的理解热修复和插件化https://blog.csdn.net/weixin_34122810/article/de

2020-08-13 19:05:45 218

原创 Android面试整理(5)-数据库

数据库1、Sqlite 升级,增加字段的语句2.数据库框架对比和源码分析2.1、GreenDao 源码分析2.1、Room 源码分析3、数据库的优化4、数据库数据迁移问题5、Sqlite 常见异常1、Sqlite 升级,增加字段的语句Sqlite升级时向已有表中增加字段https://blog.csdn.net/qq_26287435/article/details/825855972.数据库框架对比和源码分析ORMLite:https://github.com/j256/ormlite-andr

2020-08-13 18:29:07 473

原创 Android面试整理(4)-网络和安全机制

网络和安全机制1、网络框架对比和源码分析VolleyOkHttpRetrofit2、自己去设计网络请求框架,怎么做?3、网络请求缓存处理,okhttp 如何处理网络缓存的4、从网络加载一个 10M 的图片,说下注意事项5、TCP 的 3 次握手和四次挥手1、网络框架对比和源码分析Volley特点:基于 HttpURLConnection封装 Url 图片加载框架,支持图片加载有缓存Activity 和生命周期的联动,Activity 结束时取消在此 Activity 中调用的所有网络请求场

2020-08-13 14:56:31 598

原创 Android面试整理(3)-图片相关

图片相关1、图片库对比1.1PicassoGlideFresco2、LRUCache 原理3、图片加载原理4、自己去实现图片库,怎么做?5、Glide 源码解析1、图片库对比https://juejin.im/post/5c9e0feb6fb9a05e2b23ed4d1.1PicassoPicasso 毕加索 SquarePicasso 没有实现本地缓存功能,交给了 Square 的另外一个网络库 okhttp 去实现,这样的好处是可以通过请求 Response Header 中的 Cache-

2020-08-13 08:59:03 380

原创 Android面试整理(2)-java 深入源码级的面试题

java 深入源码级的面试题1、哪些情况下的对象会被垃圾回收机制处理掉?1.1 哪些对象可以被看做是 GC Roots 呢?1.2 对象不可达,一定会被垃圾收集器回收么?2、讲一下常见编码方式?3、utf-8 编码中的中文占几个字节;int 型几个字节?4、静态代理和动态代理的区别,什么场景使用?5、Java 的异常体系6、谈谈你对解析与分派的认识。7、修改对象 A 的 equals 方法的签名,那么使用 HashMap 存放这个对象8、Java 中实现多态的机制是什么?9、如何将一个 Java 对象序列化

2020-08-12 18:39:29 186

原创 Android面试整理(1)-Java 基础知识点

Java 基础知识点面试专题目录Java 基础知识点面试专题1、java 中==和 equals 和 hashCode 的区别2、int、char、long 各占多少字节数3、int 与 integer 的区别4、谈谈对 java 多态的理解5、String、StringBuffer、StringBuilder 区别6、什么是内部类?内部类的作用7、抽象类和接口区别7.1、抽象类的意义7.2、抽象类与接口的应用场景7.3、抽象类是否可以没有方法和属性?7.4、接口的意义8、泛型中 extends 和 su

2020-08-12 18:25:53 170

原创 Android 面试技术整理-知识点整合列表

一般Android面试,你需要了解的知识。如果想拿到高薪,左边的一列显得尤为重要。

2020-08-03 16:11:41 167

原创 Android 清空系统wifi记录

Android 系统记录wifi配置的在只要删除wpa_supplicant.conf。重启就行了。好记性不如烂笔头,记录一下。 **如果这边文章对你有帮助。可以请我喝杯咖啡** ...

2020-03-05 09:48:45 2052 1

原创 [九鼎RK3399Pro] Android 8.1替换系统输入法

系统原来的输入法不带中文输入。所以下载带中文的Google输入法(好处是不带广告)。下载地址方式:原理1、需要将Google输入法内置到系统里面。2、将系统的输入法设置为Google输入法。内置Google输入法参考vendor/rockchip/common/apps/目录下面的第三方APP。1、新建vendor/rockchip/common/apps/GoogleInputM...

2020-03-04 10:25:23 740

原创 [九鼎RK3399Pro] Android 8.1添加一个系统服务

很多时候需要在系统里面开一个服务,为某些App提供特殊的支持。所以记一下在系统里面添加服务器的基本套路。方便以后做参考。文章是参考别人的,今天正好翻到这段代码,但是记不起来,在哪里参考的。diff --git a/frameworks/base/Android.mk b/frameworks/base/Android.mkindex 3018c4e..555267d 100755--- ...

2020-03-02 16:20:27 715

原创 [九鼎RK3399Pro] Android 8.1默认自动给APP普通权限

由于客户的APP是无人管理的,不能让人去点击获取权限。所以在系统城给了所有权限。思路:在APP安装的时候,监听安装时间,自动给所有权限。当然也考虑不能所有的APP都能获取自动权限。diff --git a/frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java b/framewor...

2020-03-02 16:06:06 1753

原创 [九鼎RK3399Pro] Android 8.1 系统定制给用户root权限

由于有些APP需要获取root权限。源码修改diff --git a/build/core/main.mk b/build/core/main.mkindex e3fb6fb..0bb9ef2 100644--- a/build/core/main.mk+++ b/build/core/main.mk@@ -242,11 +242,11 @@ enable_target_debugg...

2020-03-02 15:55:30 2843 6

原创 [九鼎RK3399Pro] Android 8.1 取消usb权限弹窗,直接默认给权限

由于前段时间公司的平板接了一个USB设备,但是每次要弹框请求USB权限,客户反映很不好。所以就在系统层,把权限默认给了。系统是8.1的,其他系统思路应该也是一样的。思路是,在弹框的一瞬间,自动给权限。就是先找到弹框的代码,在弹框启动的时候执行点击确认的代码。frameworks/base/packages/SystemUI/src/com/android/systemui/usb/UsbPer...

2020-03-02 15:30:19 1250

原创 [九鼎RK3399Pro] Android 8.1定制系统导航栏和状态栏显示和隐藏可控制

我们的app跑在RK3399Pro上面,是放在一个公共场合使用,所以把底部的 返回,HOME,MENU键都隐藏掉,并且上部导航栏下拉功能也要取消。代码我是参考Firefly的代码写的。实现了一下功能frameworks层添加三个功能1.导航栏添加关机功能.2.导航栏支持屏幕横竖屏切换功能.3.导航栏支持动态隐藏和显示导航栏,永久关闭导航栏在framework层提供借口供外部使用不多...

2019-11-13 11:40:04 4525 7

原创 [九鼎RK3399Pro] Android 8.1 修改系统默认时区

build/tools/buildinfo.sh@@ -60,4 +60,5 @@ if [ -n "$BUILD_THUMBPRINT" ] ; thenfiecho "ro.build.characteristics=$TARGET_AAPT_CHARACTERISTICS"+echo "persist.sys.timezone=Asia/Shanghai"echo "# end...

2019-11-13 10:40:58 1808

原创 [九鼎RK3399Pro] Android 8.1 修改系统默认语言为中文

build/target/product/full_base.mk@@ -43,7 +43,7 @@ PRODUCT_PROPERTY_OVERRIDES := \ro.config.notification_sound=pixiedust.ogg# Put en_US first in the list, so make it default.-PRODUCT_LOCALES :=...

2019-11-13 10:29:58 669

原创 [九鼎RK3399Pro] Android8.1 编译以及环境配置

1.前期准备1.1硬件以及软件配置Ubuntu 16.04 系统(可使用真机也可使用虚拟机,虚拟机已经实测)Ubuntu 16.04电脑配置:CPU:4核级以上。内存:12GB及以上。(实际在编译过程中使用8G内存编译显示内存不够,改成12G才编译通过)显卡:无要求存储:200G。1.2虚拟机安装Ubuntu虚拟机安装ubuntu :https://baijiahao.baid...

2019-11-13 10:13:32 2205

原创 Ubuntu16.04安装docker详细

本篇主要翻译一下官方指导ubuntu下安装docker指南,方便查阅,官方指导网址:https://docs.docker.com/engine/installation/linux/ubuntulinux/ 。这篇文章主要指导你去安装使用Docker-managed发布包及其安装机制。使用这些包确保你获得最近的docker官方发布版本。如果你需要安装使用Ubuntu-managed包,查阅Ub...

2019-11-12 17:01:18 295

原创 linux和docker常用指令

一、常用Linux 命令ls   -a(同时列出隐含文件),  -l(输出一个比较完整的格式,除每个文件名外,增加显示文件类型、权限、硬链接数、所有者名、组名、大小(byte)、及时间信息-----简化为 ll)mkdir    新建目录 例:mkdir test 命令会在当前目录下建立一个名为“test”的新目录touch   创建文件 例:touch test/readme.tx...

2019-11-12 15:56:09 207

原创 android项目在不装opencvmanager.apk情况下,直接使用

前一段时间公司项目要用到OpenCV的东西做图像处理,但是一般都要安装OpenCV的apk包才能正常使用(估计是要导入那些os库)但是老板认为自己的apk安装之后,还要装别的apk,显得很菜,要求不安装OpenCV的apk没有办法,只能安装老板说的来做.(只是想吐槽一下)自己以前在上大学的时候接触过一点点的C++.在网上找了很多资料,OpenCV使用C代码来写的

2015-11-18 18:21:26 2812 2

空空如也

空空如也

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

TA关注的人

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