Tôi có dịch vụ sẽ hiển thị hoạt động tại thời điểm cụ thể, sau hoạt động đó vào mỗi lần thứ 13 tôi đang hiển thị quảng cáo trung gian admob. Mức sử dụng RAM của ứng dụng của tôi đang tăng 20MB khi quảng cáo trung gian được hiển thị và sau đó quảng cáo không thu thập rác thải. Vào lần thứ 13 tiếp theo khi một quảng cáo xen kẽ khác được hiển thị, không có sự gia tăng trong bộ nhớ dịch vụ.Rò rỉ bộ nhớ trong khi sử dụng quảng cáo trung gian Admob
Mã của tôi cho quảng cáo hiển thị:
public void loadAndShowInterstitialAd() {
interstitial = new InterstitialAd(getApplicationContext());
interstitial.setAdUnitId(AD_UNIT_ID);
final AdRequest adRequest = new AdRequest.Builder()
.build();
Handler handler = new Handler(new Handler.Callback() {
@Override
public boolean handleMessage(Message msg) {
interstitial.loadAd(adRequest);
return true;
}
});
if (handler != null) {
handler.sendEmptyMessageDelayed(0, 200);
}
interstitial.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
super.onAdLoaded();
displayInterstitial();
}
});
}
public void displayInterstitial() {
if (interstitial.isLoaded()) {
interstitial.show();
}
}
Tôi đã thử vài giải pháp trong câu hỏi stack overflow sau, nhưng không làm việc cho tôi.
Android Admob Interstitial Memory leak
Android AdMob causes memory leak?
bạn có một ví dụ? Tôi đang cố gắng tất cả mọi thứ đã có cùng một vấn đề nhưng không thể tìm thấy nó. Bạn đã thực hiện một lớp học mới cho điều này? – Riverside
Sử dụng android: thuộc tính quy trình để tách các hoạt động để chạy trong quá trình khác nhau. Điều đó đã giải quyết được vấn đề của tôi. Sử dụng nó một cách thích hợp cho dự án của bạn. – venkat
Chạy trong một quy trình khác không giải quyết được vấn đề cho tôi. – frankish