Android
欣儿Andray
越努力,越幸运
展开
-
中高级安卓那些 面试官 最爱问的原理问题(三)之activity的启动流程
activity 如何启动的? activity启动流程是一个庞大的题目,足够灵活启动过程中涉及到与AMS的交互与插件化紧密相关参数传递机制的可与架构设计联系进行迁移生命周期与窗口展示可以向事件处理,UI 绘制等话题迁移下面简单介绍一下启动过程1、无论是通过Launcher启动,还是通过activity 内部来调用startActivity接口 来启动新的acti...原创 2020-01-22 11:00:31 · 388 阅读 · 0 评论 -
中高级安卓那些 面试官 最爱问的原理问题(二)
如何在 Android 中写出优雅的异步代码?为了避免 回调地狱使用Rxjava将异步逻辑扁平化,注意异常处理和取消处理使用kotlin协程将异步任务逻辑同步化,注意异常处理和取消处理...原创 2020-01-21 17:21:13 · 197 阅读 · 0 评论 -
安卓 ANR 是什么,怎么避免
ANR是什么,如何避免它ANR 的全称是 Application Not Responding,中文是应用程序没有响应的意思。那么我们在实际开发中如何避免这个问题,首先我们要从四大组件最大的耗时说起:1. Activity:输入事件(按键和触摸事件)5s 内没被处理2. BroadcastReceiver:在 10s 内发送的广播没有处理完成3. Service:前台 Se...原创 2020-01-21 11:00:51 · 573 阅读 · 0 评论 -
安卓gradle知识点
你用Gradle在实际开发中做过那些事1、通用配置抽取(版本号统一,AppCompat集成)2、Apk签名配置(配置 debug 和 release 包的签名信息)3、Apk 输出名称(配置 Apk输出的名称,默认是 app_debug.apk)4、多渠道打包(配置第三方应用市场名称,用于统计用户渠道以及投放广告)api和implementation有什么区别从 ...原创 2020-01-21 10:54:46 · 202 阅读 · 0 评论 -
安卓中那些 面试官 最爱问的看似简单实则暗藏玄机的问题(二)
Java 的匿名内部类有哪些限制?无处不在的匿名内部类button.setOnClickListener(new OnClickListener(){});在虚拟机中,匿名内部类有名字, OuterClass$1class RunnableFoo extends Foo implements Runnable{};匿名内部类不能这样写,但是局部类可以,但是kotl...原创 2020-01-20 16:07:41 · 309 阅读 · 0 评论 -
安卓中那些 面试官 最爱问的看似简单实则暗藏玄机的问题(一)
Java 的 char 是两个字节,如何存 UTF-8 的字符?char是 2 个byte,UTF-8 是 1-3 个byte,1、Java char 不存在 UTF-8的字节,而是UTF-16的。2、Unicode 通用字符集占两个字节,例如“中”。3、Unicode 扩展字符集需要用一对 char 来表示。4、Unicode 是字符集,不是编码,作用类似于 ASC...原创 2020-01-20 14:31:56 · 442 阅读 · 1 评论 -
子线程能创建handler吗
这是之前碰到的一个面试题,准确的来说,子线程是可以创建hanlder的,但是如果你直接使用new thread来创建,代码会报loop的空指针错误,原因如下文,但是,Google给我们提供了HandlerThread,我们当然也可以利用HandlerThread中的思想在newThread里面实现子线程创建handler而不报错默认情况下,ActivityThread类为我们创建的了主线程的L...原创 2019-11-21 15:36:22 · 912 阅读 · 0 评论 -
Activity启动模式以及flags
启动模式1、standard 标准模式,每次启动activity都会创建一个实例,不管这个实例存不存在2、singleTop 栈顶复用模式 ,启动位于栈顶的activity,将不会重新创建,此时他的onNewIntent方法会被回调,onCreate,onStart方法不会调用,和标志位 FLAG_ACTIVITY_SINGLE_TOP一样3、singleTask 栈内复用模式 也是...原创 2019-07-09 14:47:11 · 143 阅读 · 0 评论 -
Android Studio 新建项目app为空
前几天更新了一下Android studio ,今天新建项目的时候发现创建失败,他的app为空,下面是报的错误,很多人肯定想着这简单啊,重装一下androidstudio不就好了,这样是好了,但是是不是费时费力,java.lang.RuntimeException: com.android.tools.idea.templates.FreemarkerUtils$Tem...原创 2019-07-09 11:08:14 · 1178 阅读 · 1 评论 -
单例模式
单例模式是Java中比较常见的一种设计模式,,他的写法有很多,到那时主要是饿汉式和懒汉式单例模式主要特点:单例模式的构造方法是私有的,他只有一个实例单例类的只能自己创建自己的唯一实例单例的实例只能通过他写的静态私有方法访问/** * Created by jcx on 2017/10/2 * 饿汉式单例模式 */public class Singleton {...原创 2019-05-13 16:12:38 · 110 阅读 · 0 评论 -
AndroidStudio中的 .sh 文件执行出错 (Windows执行shell脚本)
windows执行shell命令下载cywin 安装过程中选择自己需要的组件包 为了使我们安装的Cygwin能够编译程序,需要安装gcc编译器,选择Devel 下的 binutils gcc gcc-mingw gdb 验证cywin安装成功 cygcheck -c cygwin 为了在windows的工作窗口执行Cygwin的命令,可以将Cygwin的安装目录的bin文件配置windows的环境...原创 2018-06-08 16:15:14 · 3890 阅读 · 0 评论 -
Android studio新建项目失败
前几天更新了Android studio 结果今天新建项目的时候发现新建失败,,这时候很多人想着重装不就好了,重装是可以,但是费时费力,下面我们用最简单的方法来解决创建失败错误信息如下java.lang.RuntimeException:com.android.tools.idea.templates.FreemarkerUtils$TemplateProcessingExcepti原创 2017-09-11 16:24:00 · 1100 阅读 · 0 评论