最后编辑
我试图在this guideline之后实施SplashScreen。所以我用图层列表设置了一个drawable并使用了一个图标,但是图标太大了所以我创建了一个更小的新文件。结果从未出现在我的应用程序中:我制作的第一个drawable总是出现,从不更新。
Nada,当我在手机上部署apk时,旧的drawable总是显示出来。 这是什么,哪个?我错过了什么?我在哪里可以找到缓存?我找了一个bin文件夹,我在一些论坛上看到我应该删除它,但它不在我的工作区中。
我在下面发布我的代码:
的AndroidManifest.xml:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="lu.intech.mcfc">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".activity.InitActivity"
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".activity.LoginActivity" />
</application>
</manifest>
styles.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="SplashTheme" parent="Theme.AppCompat.NoActionBar">
<item name="android:windowBackground">@drawable/splash_screen</item>
</style>
</resources>
splash_screen.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:drawable="@color/colorPrimary"/>
<item>
<bitmap
android:gravity="center"
android:src="@drawable/logo_wega_100x31"/>
</item>
</layer-list>
修改 我确实在另一部手机上试用了我的应用程序,它可以立即按预期运行。所以我猜这个问题出现在手机上。即使我每次再次测试时都卸载了应用程序,也会显示旧的drawable。除了卸载应用程序,我可以做些什么来清理手机上的缓存?
答案 0 :(得分:0)
首先,尝试清理应用程序然后重建并重新启动它。
如果不起作用,请尝试清理,在手机上卸载,重建,然后重新启动。有时在没有清洁的情况下启动时会出现一些奇怪的错误。
答案 1 :(得分:0)
你需要清理系统缓存:
choose File | Invalidate Caches/Restart
。将显示“无效缓存”消息,通知您缓存将在下次启动时失效并重建。使用dialog to invalidate caches
中的按钮,重启IntelliJ IDEA或两者。答案 2 :(得分:0)
比照。我遇到的另一个类似问题:Android status bar hide/change color in splash screen
这不是我第一次遇到这种屏幕的缓存问题,它必须是没有布局和可绘制作为背景的特殊条件。我尝试在Android Studio中使缓存失效,我清理并重建了项目,我在手机上卸载了应用程序,但没有任何效果。因此,如果您使用此配置,只需尝试在另一部手机上运行您的应用,只需检查您的解决方案是否已经正常工作,只是不在您的设备上进行更新。
答案 3 :(得分:0)
我遇到同样的问题,但我猜它与Android版有关。
我在三星手机(Android 4.4.4)中进行了测试,并且 windowBackground 立即更新,但在索尼手机(Android 7.0)中它不是工作。
看起来像Android正试图通过保存一些应用程序状态来“更聪明”。
我确实尝试了您尝试的所有解决方案,并且:通过应用程序管理器 - &gt;清除缓存,清除数据。 并且......它仍然无法正常工作
只有一件事能让它发挥作用:重新启动设备,然后重建。
是的,我不确定用户在通过Play商店更新我们的应用时是否会遇到这个问题。这不方便,但它是我找到的唯一可行的解决方案。