Android 如何减少活动的加载时间?
我在活动的onCreate中进行以下操作Android 如何减少活动的加载时间?,android,xml,performance,android-activity,Android,Xml,Performance,Android Activity,我在活动的onCreate中进行以下操作 if(满足条件){ setImage(传递视图以调整大小); 设置可见性(View.VISIBLE); } 其他的 imageview.setVisibility(视图.不可见); 如下所示调整大小 Bitmap bmSource=BitmapFactory.decodeResource(context.getResources(),res); 位图缩略图; bmThumbnail=getResizedBitmap(bmSource,getScreen
if(满足条件){
setImage(传递视图以调整大小);
设置可见性(View.VISIBLE);
}
其他的
imageview.setVisibility(视图.不可见);
如下所示调整大小
Bitmap bmSource=BitmapFactory.decodeResource(context.getResources(),res);
位图缩略图;
bmThumbnail=getResizedBitmap(bmSource,getScreenWidth()/x,(getScreenWidth()/y));
Drawable Drawable=新的BitmapDrawable(context.getResources(),bmThumbnail);
b、 立根台(可拉深);
在这段代码中我提到了一个视图,但在实际代码中我有多个视图
这项活动(视为一项活动)如下所示:
PowerKeeper.Event: notifyActivityLaunchTime: com.package.ex/com.package.ExampleActivity totalTime: 1200
上面提到的1200毫秒用于启动我的活动??有时是12121400
我的应用程序在O以上的情况下工作得很好。但oreo和O以下的应用程序需要一些时间才能加载,这会影响通话持续时间。真的很糟糕。那我该怎么办
那么,如何减少在活动中进行UI更改所花费的时间
如果有人在阅读我的整个问题时遇到困难,请看下面的简短说明。
<强>简短地解释:考虑你正在使用一个呼叫应用程序(你的设备是ORIO或低于ORIO)。你收到一个来电。你点击答案。成功连接后将更改屏幕。如果在另一端的人比你先拿到屏幕的时候,你需要一些时间来加载屏幕怎么办?您和其他人的通话时间将不同。这就是我的问题
注意:仅在oreo及以下版本中面临此问题。 下面是我的活动A布局(用作呼叫连接屏幕和传出呼叫屏幕)
请任何人帮帮我。。。分享一些解决此问题的想法…提前感谢我有一些建议:
ConstraintLayout
,您的xml文件包含许多视图,您正在使用RelativeLayout
或LinearLayout
,并且这些视图以嵌套方式使用,因此这种布局嵌套可能会影响性能layout\u constraintDimensionRatio
根据要加载的图像的纵横比设置图像视图的高度或宽度。
一个是你需要固定高度或宽度,另一个是通过纵横比来计算的ImageView
code的一部分,它是这样的:
注意:app:layout\u constraintDimensionRatio=“H,16:9”
另外,使用glide加载图像
尝试上述方法,如果问题仍然存在,请告诉我。请分享您的活动xml(您正面临此问题)@Suraj Vaishnav肯定会在几分钟内与您分享minutes@SurajVaishnav添加了xml代码..请看一下,你使用的是像.png这样的像素图像吗?也许你可以用矢量图像代替一些。这将有助于文件大小和缩放。如果你需要使用普通图像,谷歌搜索“mipmap”。mipmap文件夹包含不同分辨率的相同图像,Android将根据屏幕大小选择合适的图像,从而减少加载时间
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:layout_width="0dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintDimensionRatio="H,16:9"
android:layout_height="0dp"> </androidx.constraintlayout.widget.ConstraintLayout>