小编Jud*_*udy的帖子

避免Android上的内存泄漏

我刚刚阅读了Romain Guy关于如何避免Android内存泄漏的博客文章.

在文章中他给出了这个例子:

private static Drawable sBackground;

@Override
protected void onCreate(Bundle state) {
  super.onCreate(state);

  TextView label = new TextView(this);
  label.setText("Leaks are bad");

  if (sBackground == null) {
    sBackground = getDrawable(R.drawable.large_bitmap);
  }
  label.setBackgroundDrawable(sBackground);

  setContentView(label);
}
Run Code Online (Sandbox Code Playgroud)

罗曼说:

这个例子是泄露Context的最简单的例子之一.

我的问题是,你如何正确地修改它?

像这样?

TextView label = new TextView(Context.getApplicationContext());
Run Code Online (Sandbox Code Playgroud)

我测试了两种方式,结果是一样的.我无法找到差异.我认为这this比应用程序上下文更正确.因为this是一个参考Activity,也就是TextView属于那个Activity.

有人可以给我一个解释吗?

android

20
推荐指数
1
解决办法
2万
查看次数

消费者关闭输入通道或发生错误.事件= 0x8中

D/AndroidRuntime(11752): 
D/AndroidRuntime(11752): >>>>>> AndroidRuntime START com.android.internal.os.RuntimeInit <<<<<<
D/AndroidRuntime(11752): CheckJNI is ON
D/dalvikvm(11752): creating instr width table
E/jdwp    (11752): pipe failed
W/ProcessState(11752): Opening '/dev/binder' failed: Too many open files
D/AndroidRuntime(11752): Calling main entry com.android.commands.am.Am
I/Mamarduke_Diag( 1726): Data is available now.
I/Mamarduke_Diag( 1726): exec result -->>> java.lang.NullPointerException
I/DMIC    ( 1726):  ---> java.lang.NullPointerException
I/System.out( 1726): *****wifi state end=1
D/dalvikvm( 1726): GC_EXPLICIT freed 31K, 41% free 7507K/12551K, external 1625K/2137K, paused 58ms
D/dalvikvm( 1726): GC_EXPLICIT freed 0K, 41% free 7507K/12551K, external 1625K/2137K, paused 58ms
I/System.out( …
Run Code Online (Sandbox Code Playgroud)

android exception

17
推荐指数
1
解决办法
3万
查看次数

主动扫描和被动扫描有什么区别?

mWifiManager.startScanActive()和之间有什么区别mWifiManager.startScan().和
之间有什么区别?active scanpassive scan

android wifi access-point android-wifi

11
推荐指数
1
解决办法
8230
查看次数

什么是Android ICS中的"BasicDream"?

我读了Launcher源代码,其版本是ICS.有一个RocketLauncher课程延伸BasicDream.是什么BasicDream?怎么BasicDream办?我可以找到这一行import android.support.v13.dreams.BasicDream;,但我在互联网上找不到任何关于它的信息.请给我一些信息来理解它.谢谢!

更新:我在启动器manifest.xml中找到了这些代码 <activity android:name="com.android.launcher2.RocketLauncher" android:label="@string/dream_name" android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.DREAM" /> </intent-filter> </activity>

有一个新的类别android.intent.category.DREAM,它曾经做过什么?那个RocketLauncher是一个Activity

android

9
推荐指数
1
解决办法
1万
查看次数

如何在代码中为整个应用程序设置主题,但不在Manifest中?

我知道如何在清单中将主题设置为整个应用程序,但如何以编程方式将主题设置为整个应用程序?我正在尝试这个:getApplicationContext.setTheme(R.style.mytheme),但它不起作用.

我认为getApplicationContext应用程序的上下文,可以设置整个应用程序的主题.

android themes

8
推荐指数
4
解决办法
2万
查看次数

Canvas和Bitmap之间的关系是什么?

Canvas和Bitmap之间有什么关系?

Bitmap drawingBitmap = Bitmap.createBitmap(bmp1.getWidth(),
bmp1.getHeight(), bmp1.getConfig());
canvas = new Canvas(drawingBitmap);
paint = new Paint();
canvas.drawBitmap(bmp1, 0, 0, paint);
paint.setXfermode(new PorterDuffXfermode(android.graphics.PorterDuff.Mode.SCREEN));
canvas.drawBitmap(bmp2, 0, 0, paint);
compositeImageView.setImageBitmap(drawingBitmap);
Run Code Online (Sandbox Code Playgroud)

我不明白这段代码.为什么drawingBitmap是bmp1和bmp2的组成?

android

8
推荐指数
2
解决办法
4233
查看次数

/ system/app和/ data/app有什么区别?

可能重复:
Android系统应用程序101

/ system/app和/ data/app有什么区别?两个目录中是否有一些不同的权限.

android

7
推荐指数
1
解决办法
4969
查看次数

java.lang.NoClassDefFoundError:android.security.MessageDigest

在我的应用程序中,我使用MessageDigest.getInstance("SHA-1")获取SHA1,它可以在Android 2.3中成功运行,但它无法在Android 4.0中运行,它将显示以下异常:

FATAL EXCEPTION: main
java.lang.NoClassDefFoundError: android.security.MessageDigest
 at com.screenshare.email.Utility.getConsistentDeviceId(Utility.java:597)
 at com.screenshare.exchange.SyncManager.getDeviceIdInternal(SyncManager.java:1079)
 at com.screenshare.exchange.SyncManager.getDeviceId(SyncManager.java:1045)
 at com.screenshare.exchange.SyncManager.onCreate(SyncManager.java:1813)
 at android.app.ActivityThread.handleCreateService(ActivityThread.java:2253)
 at android.app.ActivityThread.access$1600(ActivityThread.java:123)
 at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1201)
 at android.os.Handler.dispatchMessage(Handler.java:99)
 at android.os.Looper.loop(Looper.java:137)
 at android.app.ActivityThread.main(ActivityThread.java:4424)
 at java.lang.reflect.Method.invokeNative(Native Method)
 at java.lang.reflect.Method.invoke(Method.java:511)
 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
 at dalvik.system.NativeStart.main(Native Method) 
Run Code Online (Sandbox Code Playgroud)

谁可以解释这个案子?

android classnotfoundexception

7
推荐指数
1
解决办法
2329
查看次数

“ @ + android:id / title”是什么意思?

通常,我们应该使用@+id/定义一个id并@id引用一个id。今天我@+android:id/titleapps/settings/res/layout/preferenc_progress.xml

如何理解和使用它?

android

6
推荐指数
1
解决办法
3577
查看次数

如何理解两个在线视频之间的区别:RTSP和HTTP?

我知道RTSP和HTTP两个在线视频是由android支持的.但是如何理解RTSP和HTTP之间的区别.我想知道在使用RTSP或HTTP播放在线视频时如何工作,以及它们之间有什么区别.谢谢!

android android-mediaplayer

6
推荐指数
1
解决办法
6775
查看次数