public class DetailFragment extends Fragment { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); SharedViewModel model = ViewModelProviders.of(getActivity()).get(SharedViewModel.class); model.getSelected().observe(this
插件代码都是现有业务代码,不能因为接入插件框架而需要修改代码(即需要插件框架无代码侵入性)。在宿主的AndroidManifest.xml中只能注册有限数量(大约10个)的组件。宿主AndroidManifest过大会使宿主安装变慢,跨进程通信出错。不能使用非公开API。 大方向的选择 其实我们早就在用一
The given observer will be brought to the current state of the LifecycleOwner. For example, if the LifecycleOwner is in {@link State#STARTED} state, the given observer will receive {@link Event#ON_CREATE}, {@link Event#ON_START} events. @param observ
} // 获取新闻 private fun fetchNews() { // 1. 先从数据库读老新闻以快速展示 queryNews().let{ showNews(it) } // 2. 再从网络拉新闻替换老新闻 newsApi.fetchNews( mapOf(“page” to “1”,“count” to “4”) ).enqueue(object : Callback { override fun onFailure(
Android开发经常会用到handler,但是我们发现每次使用Handler都会出现:This Handler class should be static or leaks might occur(null)这样的提示。Android lint就是为了提示我们,这样使用Handler会容易造成内存泄漏。但是你会发现其实改成static并没有什么用。因为这并没有解决
final IBinder resultTo = request.resultTo; // 省略其他检查代码 // 检查权限等 boolean abort = !mSupervisor.checkStartAnyActivityPermission(intent, aInfo, resultWho, requestCode, callingPid, callingUid, callingPackage, callingFeatureId, request.ignoreTarge
… private LifecycleRegistry mLifecycleRegistry = new LifecycleRegistry(this); … @Override protected void onSaveInstanceState(Bundle outState) { mLifecycleRegistry.markState(Lifecycle.State.CREATED); super.onSaveInstanceState(outState); } … @Override p
#仅个人学习记录,如有疏漏,请多见谅 1:引入与分析 fragment的引入可以实现灵活的UI设计。fragment与activity类似,也有不同的地方。 它们都有布局文件xml和java类,拥有类似的生命周期。它们都属于控制器对象。 不同的是activity是由操作系统控制,而fragment由指定的activity托管,需要在
Activity中的几种启动模式 activity的几种启动模式是android中常考的知识点,一般会考察有哪几种启动模式,以及每种启动模式在什么场景下使用: standard:这个是android默认的Activity启动模式,每启动一个Activity都会被实例化一个Activity,并且新创建的Activity在堆栈中会在栈顶。
public static Context context; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); context=this; } } 上述代码在MainActivity中context为静态变量,并持有Context,当Activity退
一、前言 其实我是不打算写这篇文章的,为什么呢?因为关于沉浸式状态栏的文章太多了,随便google一下就能出来几十上百篇文章,当然这其中有写的好的,也有滥竽充数的。前面在公众号推出了Material Design 的系列文章,就有读者留言,希望出一篇关于沉浸式的文章。因此这篇文章就整理总结一下各
AppWindowToken.java Session.java InputManager.java InputMonitor.java 类解释: WindowManagerService负责完成窗口的管理工作; WindowState和客户端窗口一一对应,应用调用WindowManager.addView()时,最终会在WindowManagerService添加一个WindowState与之一一对应。 WindowTok
Activity的启动过程 app启动的过程有两种情况,第一种是从桌面launcher上点击相应的应用图标,第二种是在activity中通过调用startActivity来启动一个新的activity。 1.Luncher.startActivitySafely() public final class Launcher extends Activity implements View.OnClickList
下载地址:https://github.com/zhuanghongji/CustomViewZhj 博客中只是部分演示代码,后面新增演示的代码均只在github上更新。 效果图 === 代码展示: ===== MainActivity.java : import com.zhuanghongji.customviewzhj.view.TopBar; pub lic class Ma
问题:插入数据的时候提示“ ORA-02290”这个错误 具体提示: java.sql.SQLIntegrityConstraintViolationException: ORA-02290: check constraint (ZHLUB.SYS_C00122267) violated 原因:插入数据的时候 table有constraint约束,导致报错 解决方法:1)修改constraint约束 2)本身该sql是非法
安全 新工具,新体验 对于用户来讲会有新体验,更隐私更安全,对于我们开发工作者来讲,有新工具。那么这些新的东西都具体体现在哪些方面呢?下面由我带着大家学习一番。 WebView 加入SameSite Cookie Android的WebView组件基于Chromium,C hromium是支持Google Chrome浏览器的开源
前言 在https://www.cnblogs.com/guanxinjing/p/10701192.html 这篇博客里了解了如何抓取与分析Android的内存泄露后,在这个博客里.将记录举例会引起内存泄露的情况.在android平台一般情况下的内存泄露都指页面(Activity或者Fragment等等). 因为他们会经常的进行创建与销毁.
那么关键的问题是,用户很可能会因为从启动窗口到显示画面的过程耗时过长而感到厌烦,从而导致用户没有来得及等程序启动完毕就切换到其他 App 了。更严重的是,如果启动时间过长,可能导致程序出现 ANR。我们应该避免出现这两种糟糕的情况。 启动方式 Android 应用的启动方式分为三
Android Framework框架包含了3个主要部分:服务端、客户端、Linux驱动。 首先介绍一下服务端都有哪些重要的东西: ActivityManagerService(Ams):负责管理所有应用程序中的Activity,它掌握所有Activity的情况,具有所有调度Activity生命周期的能力,简单来说,ActivityManagerService
前言 21年让我感觉经历了不少东西,不仅是生活还是工作方便。工作方面主要体现在面试吧,初步的算了一下我这一年面试了不下三十家公司,有大厂也有中小型公司,大厂偏多一些,应该每开发者和我一样都有想去大厂的想法,所以一些大厂的其他部门我也有面一些。 今天特意腾出时间整理了这
Camunda子流程有两种实现方式:嵌套子流程(Embedded Subprocess)和外部子流程(Call Activity)。以下介绍Camunda外部子流程(Call Activity)的实现方式,通过示例介绍主流程如何发起子流程,主子流程间变量如何传递。 一、什么是调用子流程 BPMN 2.0区分了嵌入式子流程(Embedded Subprocess)和
10.WebSocket与Socket的区别 11.谈谈你对安卓签名的理解 12.请解释安卓为啥要加签名机制? 计算机网络面试解析 Android相关 1、什么是ANR 如何避免它? 2、Activity和Fragment生命周期有哪些? 3、横竖屏切换时候Activity的生命周期 4、AsyncTask的缺陷和问题,说说他的原理。 5、
【Android】安卓四大组件之Activity(二) 前言 在这篇文章之前,我已经写过了一篇有关Activity的内容,是关于activity之间的页面跳转和数据传递,而这篇文章着重强调的是Activity中的有关生命周期的理解。 1、什么是生命周期? 在之前学习Java的时候,Java中的一个类的对象就涉及到了生命周期,
} fun noteOpNoThrow(context: Context, op: Int): Int { val ops = context.getSystemService(Context.APP_OPS_SERVICE) as AppOp sManager try { val method: Method = ops.javaClass.getMethod( “noteOpNoThrow”, Int::class.javaPrimitiveType, Int::class.javaPrimit
【Android】安卓四大组件之Activity(一) 前言 Activity是Android学习中的一个重要组件,想要对其进行系统的了解可以分为几块内容,这一大章节的内容是有关于activity之间的页面跳转和数据传递,之后还有activity中的生命周期讲解。 1、认识AndroidManifest.xml 一个Manifest.xml最外