我有一个小型Android应用,没有数据库。
我将谷歌AdMob添加到我的应用程序,当我在我的设备上运行应用程序时 - 应用程序存储的数据一直在增长,直到它被卡住,我需要清除数据(Android设置>应用程序>我的应用程序>清除数据)使其再次起作用。我删除了广告并停止播放。
这是正常的吗?我怎么能防止这种情况?
这是我的代码:
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.InterstitialAd;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
public class MainActivity extends ActionBarActivity {
private static InterstitialAd interstitial;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
getOverflowMenu();
interstitial = new InterstitialAd(this);
}
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main,container, false);
// Create the interstitial.
interstitial.setAdUnitId("...");
//Locate the Banner Ad in activity_main.xml
final AdView adView = (AdView) rootView.findViewById(R.id.adView);
// Create ad request.
// Add a test device to show Test Ads
AdRequest adRequest = new AdRequest.Builder()
.addTestDevice(AdRequest.DEVICE_ID_EMULATOR)
.addTestDevice("...")
.build();
// Load ads into Banner Ads
adView.loadAd(adRequest);
// Begin loading your interstitial.
/* interstitial.loadAd(adRequest);
// Prepare an Interstitial Ad Listener
interstitial.setAdListener(new AdListener() {
public void onAdLoaded() {
// Call displayInterstitial() function
displayInterstitial();
}
public void onAdFailedToLoad(int errorCode){
adView.setVisibility(View.GONE);
}
});
*/
...
}
}
}
答案 0 :(得分:0)
这不正常。我首先删除对非页内广告的静态引用。
我怀疑清除应用程序存储的数据并不能解决您的问题。我怀疑杀死然后重新启动你的应用程序正在解决问题。您需要区分JVM内存(我认为是问题)和缓存磁盘存储。