小编Raf*_*mos的帖子

当状态改变时,如何关闭MediaRecorder播放的声音

我的Android应用程序在SurfaceHolder上使用MediaRecorder来显示相机捕获的实时预览.每次用户按下应用程序上的REC按钮,应用程序就会开始记录.每次MediaRecorder的状态切换到'start'时,Android会自动(?)发出蜂鸣声.这种哔哔声听起来与手机不同,这让我觉得这种哔哔声本身就与MediaRecorder的状态变化有关.如果手机的音量设置为静音,则不会发出蜂鸣声.

我谷歌并做了一些研究,但我找不到一种方法来关闭这个哔哔声.可能吗?如果是这样,怎么样?

该应用程序已经过测试:Nexus One 2.3.4,Desire HD 2.3.3

media audio android record

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

使用Google Maps API时出现内存不足错误

我这里有一个应用程序,它具有在地图上显示POI的功能.它只是一个POI,只有当它实际位于可见屏幕区域内时才会被绘制.它可以完美地工作一段时间,但如果我在放大和缩小和拖动时玩,它最终会崩溃.根据Logcat,原因始终是OutOfMemory错误.

起初,我认为这是Google Maps API上的一个错误.经过一些研究和看到一些Romain Guy的帖子,我有点确信我在我的应用程序上做了一些愚蠢的事情让我不时耗尽内存.然后我用Heap Analyzer(Eclipse)运行了一些更详细的测试,我看到即使我有2+,有时还剩3+兆字节的可用内存,我仍然得到由OutOfMemoryError引起的恼人的Force Close消息.大多数时候,无论我剩下多少,它都会在尝试分配大约614kb的内存时崩溃.

这个问题在Nexus One 2.2.1和HTC Evo 2.1上发生了很多.经过一些小小的测试,我在G1 1.6和三星Galaxy S i9000 2.1上都没有崩溃.但我不能肯定地说G1和Galaxy在经过更多测试后不会出现这个问题.

我只能想到内存碎片问题.我希望这个问题有一个解决方案.如果我能抓住这个错误并阻止应用程序崩溃,我也会很高兴.

如果它有帮助,这里是logcat:

09-29 08:58:06.661: ERROR/dalvikvm-heap(1552): 648000-byte external allocation too large for this process.
09-29 08:58:06.661: ERROR/dalvikvm(1552): Out of memory: Heap Size=9991KB, Allocated=6980KB, Bitmap Size=14510KB
09-29 08:58:06.661: ERROR/(1552): VM won't let us allocate 648000 bytes
09-29 08:58:06.672: DEBUG/AndroidRuntime(1552): Shutting down VM
09-29 08:58:06.672: WARN/dalvikvm(1552): threadid=3: thread exiting with uncaught exception (group=0x4001b390)
09-29 08:58:06.672: ERROR/AndroidRuntime(1552): Uncaught handler: thread main exiting due to uncaught exception
09-29 08:58:06.681: …
Run Code Online (Sandbox Code Playgroud)

memory android bitmap google-maps-api-3

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

标签 统计

android ×2

audio ×1

bitmap ×1

google-maps-api-3 ×1

media ×1

memory ×1

record ×1