Andorid开发中遇到的问题

最近开始学习开发Android App,找了本教程,学了一些基本知识后,就开始着手做一个例子。

我始终觉得在做中学,可能会稍微快一点。很快,一个具有初步功能的App被我撸出来了。

在模拟器上运行,我发现了几个问题,现在在这里记录一下:

1.每一次运行,都会在虚拟机上生成两个一模一样的图标

原因:AndroidManifest.xml中注册的activity都写了如下代码:

<intent-filter>

  <action android:name="android.intent.action.MAIN"/>

  <category android:name="android.intent.category.LAUNCHER">

</intent-filter>

解决方案:只保留MainActivity中的Intent-filter,其他注册的Activity中无需保留。

2.app在模拟器上只能运行一次,当按模拟器的物理返回键时,不能再次进入app。

原因:查看后台日志,发现如下信息:

Background sticky concurrent mark sweep GC freed 1438(100KB) AllocSpace objects, 0(0B) LOS objects, 10% free。

json model里面放了非可序列化的对象就会导致问题发生。

解决方案:
如果在json model里面放个Android的Activity或者adapter这类类型字段,变量声明前面一定要加transient,否则就是长期GC提示。

目前遇到这两个问题,后续继续更新。



原文地址:https://www.cnblogs.com/jiangzuomeng/p/11919550.html