Android AsyncLayoutInflater异步加载xml布局文件,Kotlin

ops/2025/3/3 23:29:40/

Android AsyncLayoutInflater异步加载xml布局文件,Kotlin

 

 

implementation "androidx.asynclayoutinflater:asynclayoutinflater:1.1.0-alpha01"

 

 

import android.os.Bundle
import android.util.Log
import android.view.View
import android.view.ViewGroup
import androidx.appcompat.app.AppCompatActivity
import androidx.asynclayoutinflater.view.AsyncLayoutInflaterclass MyActivity : AppCompatActivity() {companion object {const val TAG = "fly/MyActivity"}override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)Log.d(TAG, "onCreate开始...")AsyncLayoutInflater(this).inflate(R.layout.activity_my, null, object : AsyncLayoutInflater.OnInflateFinishedListener {override fun onInflateFinished(view: View, resid: Int, parent: ViewGroup?) {Log.d(TAG, "onInflateFinished")setContentView(view)}})Log.d(TAG, "onCreate结束")}
}

 

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:text="hello,world!" /><com.appdemo.MyLongTimeViewandroid:layout_width="match_parent"android:layout_height="match_parent"android:scaleType="centerCrop"android:src="@mipmap/image" />
</LinearLayout>

 

 

import android.content.Context
import android.util.AttributeSet
import android.util.Log
import androidx.appcompat.widget.AppCompatImageViewclass MyLongTimeView : AppCompatImageView {companion object {const val TAG = "fly/MyLongTimeView"}constructor(ctx: Context, attribute: AttributeSet) : super(ctx, attribute) {Log.d(TAG, "开始sleep...")Thread.sleep(6000)Log.d(TAG, "sleep结束")}
}

 

 

 

Android ViewStub延迟初始化加载布局View,Kotlin-CSDN博客文章浏览阅读274次。CPU返回后,会直接将GraphicBuffer提交给SurfaceFlinger,告诉SurfaceFlinger进行合成,但是这个时候GPU可能并未完成之前的图像渲染,这时候就牵扯到一个同步,Android中,用的是Fence机制,SurfaceFlinger合成前会查询Fence,如果GPU渲染没有结束,则等待GPU渲染结束,GPU结束后,会通知SurfaceFlinger进行合成,SF合成后,提交显示,最终完成图像的渲染显示。而对SF来说,只要有合成任务,它就得再去申请VSYNC-sf。 https://blog.csdn.net/zhangphil/article/details/145861445

 


http://www.ppmy.cn/ops/162897.html

相关文章

【Vue3】浅谈setup语法糖

Vue3 的 setup 语法糖是通过 <script setup> 标签启用的特性&#xff0c;它是对 Composition API 的进一步封装&#xff0c;旨在简化组件的声明式写法&#xff0c;同时保留 Composition API 的逻辑组织能力。以下是其核心概念和原理分析&#xff1a; 一、<script setu…

数据结构:Top-K问题详解

一.Top-K问题 #include<stdio.h> //先自主创建n个数据 void CreateNDate() {// 造数据int n 100000;srand(time(0));//表示随时间初始化随机生成数的种子const char* file "data.txt";///创建一个文件FILE* fin fopen(file, "w");//“只写”写入创…

Android15 Camera HAL Android.bp中引用Android.mk编译的libB.so

背景描述 Android15 Camera HAL使用Android.bp脚本来构建系统。假设Camera HAL中引用了另外一个HAL实现的so &#xff08;例如VPU HAL&#xff09;&#xff0c; 恰巧被引用的这个VPU HAL so是用Android.mk构建的&#xff0c;那Camera HAL Android.bp在直接引用这个Android.mk编…

git clone的时候出现出现error

报错如下&#xff1a; Collecting githttps://github.com/haotian-liu/LLaVA.git Cloning https://github.com/haotian-liu/LLaVA.git to /tmp/pip-req-build-360q6tt1 Running command git clone --filterblob:none --quiet https://github.com/haotian-liu/LLaVA.git /t…

《国密算法开发实战:从合规落地到性能优化》

前言 随着信息技术的飞速发展,信息安全已成为全球关注的焦点。在数字化时代,数据的保密性、完整性和可用性直接关系到国家、企业和个人的利益。为了保障信息安全,密码技术作为核心支撑,发挥着至关重要的作用。国密算法,即国家密码算法,是我国自主设计和推广的一系列密码…

设计模式Python版 观察者模式

文章目录 前言一、观察者模式二、观察者模式示例 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&#xff1a;关注类和对象之间的组…

深度解读Grok-2:新一代AI大模型的崛起

随着人工智能技术的飞速发展&#xff0c;越来越多的创新型大语言模型&#xff08;LLM&#xff09;开始涌现。Grok-2&#xff0c;作为OpenAI的后继版本之一&#xff0c;在技术和应用上都表现出了强大的潜力。本文将深入解析Grok-2大模型的技术架构、发展历程、功能特性、应用场景…

【Docker】使用Docker搭建-MySQL数据库服务

零、更换Docker镜像源 因为国内现在封锁了Docker默认拉取镜像的站点&#xff08;DockerHub&#xff09;&#xff0c;而且国内大部分Docker镜像站已全部下线&#xff0c;导致现在很多朋友在拉取镜像的时候会出现无法拉取的现象&#xff0c;这时候就需要进行更换Docker镜像源。 可…