Android开发中常见问题集锦(持续更新...)

转载请注明出处:https://www.jianshu.com/p/7724b75af42f
本文出自Shawpoo的
我的博客:CSDN博客

1、去除系统状态栏

1、如果Activity继承FragmentActivity
requestWindowFeature(Window.FEATURE_NO_TITLE) 
2、如果Activity继承AppCompatActivity
supportRequestWindowFeature(Window.FEATURE_NO_TITLE);

2、使用ApplicationContext.startActivity()切记要addFlag

Intent intent = new Intent(A.this, B.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
App.getInstance().startActivity(intent);

3、Android studio3.0+ com.android.tools.aapt2.Aapt2Exception: AAPT2 error

Android studio3.0+ com.android.tools.aapt2.Aapt2Exception: AAPT2 error

4、Android 项目方法数量超 65535

当我们的 Android 项目方法数量(包括依赖的项目库)超过 65535 的时候,会报如下错误:

Cannot fit requested classes in a single dex file. Try supplying a main-dex list.
# methods: 69684 > 65536
Message{kind=ERROR, text=Cannot fit requested classes in a single dex file. Try supplying a main-dex list.
# methods: 69684 > 65536, sources=[Unknown source file], tool name=Optional.of(D8)}

这样会导致项目编译不成功,解决方案如下:
1、在项目的 build.gradle 文件中添加:

android {
    defaultConfig {
        // ...
        multiDexEnabled true
    }
}

2、添加依赖库:

implementation 'com.android.support:multidex:1.0.2'

3、在自己实现的 Application 的 onCreate()方法中:

public class App extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        MultiDex.install(this); 
    }

}

通过以上 3 步即可解决项目方法总数超过 65535 的问题。

5、设置 Android 项目的 Jdk 版本为1.8

Android Studio如何把 jdk 设置为 1.8

6、使用 Tab + Fragment 崩溃后,Fragment 重叠问题

protected void onSaveInstanceState(Bundle outState) {
// super.onSaveInstanceState(outState);  // 重写该方法,但不执行父类的方法。
}

持续更新...

你可能感兴趣的:(Android开发中常见问题集锦(持续更新...))