android - 如何在Android中使用滚动视图而不滞后
问题描述
我试图优化我的一个应用程序并且遇到了这个问题:我有 2 个相同的滚动视图布局,这两个布局之间的唯一区别是背景图像。一种布局具有一个大小约为 400kb 的图像作为背景。第二种布局有一个大小约为 300kb 的图像作为背景。
400kb 图像的布局平滑干净,而 300kb 图像的布局缓慢且滞后。
我不明白这种奇怪行为的原因......你们能帮帮我吗?
这是一个布局示例:
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/pergamena_background_2">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ImageView
android:id="@+id/imageView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="15dp"
app:srcCompat="@drawable/storica_baldr" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="top|center"
android:text="blablabla"
android:textAllCaps="false"
android:textAppearance="@style/TextAppearance.AppCompat"
android:textSize="17sp"
app:fontFamily="@font/almendra_italic" />
<TextView
android:id="@+id/baldr_textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="55dp"
android:paddingTop="20dp"
android:paddingRight="55dp"
android:paddingBottom="0dp"
android:text="@string/Baldr1"
android:textAllCaps="false"
android:textAppearance="@style/TextAppearance.AppCompat"
android:textSize="17sp"
android:textStyle="italic"
app:fontFamily="sans-serif" />
<ImageView
android:id="@+id/imageView2"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="40dp"
android:paddingTop="20dp"
android:paddingRight="40dp"
android:paddingBottom="20dp"
android:scaleType="fitXY"
app:srcCompat="@drawable/text_divider" />
<TextView
android:id="@+id/baldr_textView2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingLeft="55dp"
android:paddingTop="0dp"
android:paddingRight="55dp"
android:paddingBottom="45dp"
android:text="@string/Baldr2"
android:textAllCaps="false"
android:textAppearance="@style/TextAppearance.AppCompat"
android:textSize="17sp"
android:textStyle="italic"
app:fontFamily="sans-serif" />
</LinearLayout>
</ScrollView>
解决方案
基于此答案,解决此问题的最佳方法是将图像移动到drawable-nodpi文件夹。对我来说这有效。
推荐阅读
- amazon-web-services - 如何在 AWS SDK v3 JavaScript 中设置凭证?
- excel - 如果两个工作簿中的两列具有相同的值,我想将数据从一个工作簿复制到另一个工作簿
- android - 为什么基于ffmpeg的android视频播放器无法同步视频时间和音频时间?
- android - 输入'未来
' 不是类型 'Future 的子类型 ' , 迁移到空安全后出错 - r - 使用 lapply 和 dplyr 计算跨多个列的组列的描述性统计信息(平均值、标准差、n),得到 NA 值
- entity-framework - 如何将主 ID 传递给详细外键?
- iphone - 谷歌操作在 iPhone 的谷歌助手应用程序中不起作用
- typescript - 当我使用 const 作为选项时,Multer 不保存文件
- javascript - 使用 react-sortable-hoc 在 xy 轴上对网格进行排序
- clickhouse - 为什么clickhouse写批记录慢?