public final <I, O> ActivityResultLauncher register( @NonNull final String key, @NonNull final LifecycleOwner lifecycleOwner, @NonNull final ActivityResultContract<I, O> con tract, @NonNull final ActivityResultCallback callback) { Lifecycle li
一、广播机制简介 作为Android四大组件之一的Broadcast,同样被intent传递,通常情况下,自定义和Android预定义的广播加载到intent中被广播出去,注册的BroadcastReceiver就可以监听到这些Intent,并获得其中的数据 例如连接网络,电池充上电,来短信,这些预定义的广播,会被Android的intent
需要多库的原因 什么情况下需要多库呢?数据库不够用的时候。 如果应用的用户不断增长,数据量也不断增长,单一数据库的数据量较大(问题来了,多少算较大?),数据库查询成了瓶颈的时候,那么就需要分库分表。 数据量推测 假设是流量充值应用场景。 假设100万注册用户 访问量:一天3万次流量充值 调
上图的效果就是android studio的模板,我们可以通过自定义模板方便我们日常的开发。 开始 ============================================================ 首先从android studio自带的模板说起 在android studio的安装目录下的\plugins\android\lib\templates\activities下保
根Activity的启动过程 根Activity的启动整体过程如下: 主要分为四部分 Launcher请求ATMS创建根ActivityATMS会去请求zygote创建应用程序进程zygote去创建应用程序进程ATMS请求ApplicationThread创建根Activity 我们分析的话,不会按照上面的每一个步骤去分析。我们会按照下面三
ActivityUtil.java public class ActivityUtil { private static Stack<Activity> activityStack = new Stack<>(); private static final MyActivityLifecycleCallbacks INSTANCE = new MyActivityLifecycleCallbacks(); public ActivityUtil() {
1.定义:是Context的子类,同时实现了window.callback和keyevent.callback,用来处理窗体和用户的交互的事件,基本上一个交互页面对应一个Activity。 2.生命周期: oncreat()-onstart()-onResume()-onPause()-onStop()-onDestory() ;;onRestart 3.四种状态 running:当前处于栈顶并显示于
问题描述 当在其他页面出现异常后app触发闪退,在返回到有使用FragmentTransaction添加Fragment的页面,会出现Fragment重叠,数据不一致的问题 问题原因 App闪退后,要返回的上一级Activity会被重新创建(有点类似横竖屏后的Activity), Activity在savedInstanceState会将保
Activity生命周期 Android中的Activity是可以相互层叠的。我们每启动一个新的Activity,就会覆盖在原来Activity之上。Back键会销毁最上面的Activity 返回栈的概念:在Android系统中,我们是通过任务task来管理ACtivity的,一个任务就是一组存放在栈里面的ACtivity。展示总是最顶层的Activ
APP性能测试之monkey 1 monkey 是做什么的 monkey 是 Android 中的一个命令行工具,由 java 编写,可以运行在模拟器里或实 际设备中。 它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手势输入等),实现 对 APP 进行压力测试。 monkey 测试是一种为了测试软件的稳定性
} /** 更新时间的方法,核心是每隔 1000 毫秒 Handler发送一次消息 */ private void updateTime() { handler.postDelayed(new Runnable() { @Override public void run() { handler.sendEmptyMessage(0); } }, 1000); } /** 设置倒计时时间的方法,单位是毫秒 @param millis
第一步 在layout中创建activity_second <TextView android:id="@+id/tv_1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="界面1" tools:layout_editor_absoluteX="1
3. 今日头条 是所有参加的面试里比较专业的面试体验吧,面试官体现了很好的技术素养。总共参加了3轮视频面试(技术面全部面完),开始还以为很有希望(感觉面得不错,基本没有阻塞的知识点),最终结果却是挂掉了,原因目前未知。当然这里也花了很长时间准备(3个礼拜左右),主要是因为要考算法,重头
Android复习题 一、选择题 1. Android 中下列属于 Intent 的作用的是 ( C ) A .实现应用程序间的数据共享 B .是一段长的生命周期,没有用户界面的程序,可以保持应用在后台运行,而不会因为切换页面而消失 C .可以实现界面间的切换,可以包含动作和动作数据,连接四大组件
作者:小虾米君 1. Handler 使用不当? 先搞清楚什么叫 Handler 使用不当? 一般具备这么几个特征: Handler 采用匿名内部类或内部类扩展,默认持有外部类 Activity 的引用: // 匿名内部类 override fun onCreate(savedInstanceState: Bundle?) { ... val innerHandler: H
在 Android Jetpack 组件中,fragment作为视图控制器之一占有很重要的位置。但由于其bug众多,暗坑无数,以至于 Square 有这样一篇博客:Advocating Against Android Fragments。github上的 Fragmentation 有着 9.4k 的star。 而现在,androidx fragment 稳定版已来到 1.2.2,让我们总结一
前言 一到年底,耳边总是会听到关于“年终奖”的各种传说。这不,前几天就传来几个劲爆消息:网易《哈利波特·魔法觉醒》项目组全员年终奖高达88.88万元,腾讯《英雄联盟》项目组年终奖每人发120万现金…… 这些年终奖的数量之高,让人产生“年底都会有年终奖”的错觉! 但是年终奖这种
AlertDialog并不会影响Activity的生命周期,按Home键后才会使Activity走onPause->onStop, AlertDialog 只是一个组件,并不会使 Activity 进入后台 5.两个 Activity 之间跳转时必然会执行的是哪几个方法? 前一个 Activity 的 onPause,后一个 Activity 的 onResume 6.Fragment 状态保
private void attach(boolean system, long startSeq) { mInstrumentation = new Instrumentation(); // … mInstrumentation.basicInit(this); ContextImpl context = ContextImpl.createAppContext(this, getSystemContext().mPackageInfo); mInitialApplication = contex
参考 跟着《第一行代码》学习,环境为Android Studio.语言为Kotlin,可能随着学习的深入也会有java(俺也没啥基础555)。 疫情在宿舍不要太颓废啊! 四大组件 Android系统四大组件分别是Activity、Service、BroadcastReceiver和 ContentProvider。 Activity是所有Android应用程序的门
###IPC(重点) Android中进程和线程的关系?区别?如何开启多进程 ?应用是否可以开启N个进程 ?为何需要IPC?多进程通信可能会出现的问题?Android中IPC方式、各种方式优缺点,为什么选择Binder?Binder机制的作用和原理?Binder框架中ServiceManager的作用?Bundle传递对象为什么需要序列化?Serial
第三期知识分享,介绍四大组件里的Activity相关 Activity Activity是Context的子类 创建流程 创建Activity→创建布局→在Activity中加载布局→在AndroidManifest中注册Activity→设置主Activity 在Activity中加载布局 setContentView(R.layout.layout_name); 在AndroidManifes
startActivity(intent); overridePendingTransition(R.anim.bottom_in,R.anim.bottom_silent); 第二步:写activity的manifest配置: //我们要将其设置为可以透明显示的 <activity android:name=".XXXActivity" android:theme="@style/XXXTheme"> <meta-data android:nam
Android代码规约 写在前面的话 对软件来说,适当的规范和标准绝不是消灭代码内容的创造性、优雅性,而是限制过度个性化,以一种普遍认可的统一方式一起做事,提升协作效率,高效协作即降低协同成本。所谓无规矩不成方圆,无规范不能协作。车同轨,书同文,规约是我们高效合作的基础。代码的字里
斗鱼 斗鱼是一家直播公司,给出的实习待遇是相当好,经室友推荐就投了简历。最后流程走完,得知挂在了二面上,大概原因就是没有拿得出手的项目,实际项目经验不足。 一面 线程同步(五个线程如何顺序执行)GC内部类特点四大引用范式新建线程的方式(三个)arraylist和linkedlist线程池(使用,种