草庐IT

Android:通过 http 加载多个位图/缩略图的最快方法是什么?

我需要知道:什么是连续下载多个缩略图的最快方法,比方说10张图片。内置浏览器似乎以一种非常聪明的方式做到了这一点。我用Google搜索发现大多数开发人员都使用HttpUrlConnection类来下载jpeg以在ImageView、ListAdapter等中显示它。一些开发人员使用DefaultHttpClient类实现下载,因为它对超时等有更好的支持。事实上Googlerecommends使用ApacheHttp客户端,而不是nativeJavaHttpUrlConnection。也就是说,提到的两个startegies工作正常,但与我的HTC浏览器中构建的下载缩略图的方式相比,它们

java - 游戏开发时位图大小超过VM预算

我正在开发一款安卓游戏,比如塔防。我正在使用表面View。我正在使用一些图像作为位图。(Spritesheets、tilesets、按钮、背景、效果对比)现在图像将近5-6mb。我在运行游戏时遇到此错误:BitmapsizeexceedsVMbudget19464192-byteexternalallocationtoolargeforthisprocess.我这样称呼图像BitmapFactory.decodeResource(res,id)然后我把它放到数组中。我无法缩放图像。我正在使用所有图像。我试过了options.inPurgeable=true;它可以工作,但图像加载速度非

java - OutOfMemoryError 创建位图

正如标题所说,我在加载布局时抛出了内存不足异常。有人会认为这是一个内存泄漏问题,但在与它斗争了2天后,我不再那么确定了。该应用有10多个Activity,其中大部分都有背景图片。我的一些事实/发现:到目前为止,问题只出现在运行Android4.0.3的GalaxyNexus上。我无法在NexusS(4.1.1)和GalaxySII(2.3.3)上重现它。屏幕方向不会改变。事实上,无论如何我的大部分Activity都锁定在纵向。只是为了开玩笑,我在打开新Activity时添加了对finish()的调用,因此当时内存中不会有超过一个Activity。已验证正在调用onDestroy。定义为

java - Volley NetworkImageView - 如何回收位图?

我对这个出色的库怀念的是它不会在NetworkImageView中回收位图。如果在方法NetworkImageView.onDetachedFromWindow中某处调用回收将是完美的。目前,该库存在不回收位图和运行OOM异常的严重漏洞。有谁知道是否有整合这个概念的计划? 最佳答案 通过“回收位图”,我假设您的意思是在Bitmap对象上调用.recycle()。为什么您认为这会改善您的OOM情况?虽然我承认曾几何时,Android(即2.x)确实遇到过这个问题。位图存储在native堆中,需要(至少)2次GC传递来清理。调用recy

android - 如何使用 Picasso 库下载和缓存位图

我正在使用下面的方法Bitmapbitmap=Picasso.with(ListofCardsActivity.this).load(overLayUrl).get();用于从weburl下载和获取图像。这种方法是否每次都从url下载图像,即使它已经下载了?我想要的是,一旦下载了图片,那么从下一次开始,我应该从缓存中获取图片,而不需要下载。如果我们有像上面要求的方法。请告诉我 最佳答案 Doesthismethoddownloadtheimagefromtheurleverytime,evenifitisdownloadedalre

android - 将 OpenGL ES 2.0 渲染纹理转换为位图并返回

我想用RenderScript模糊渲染的纹理,为此我需要将它转换为位图格式并使用它我需要将它转换回OpenGL纹理。纹理渲染工作正常。问题一定出在这里,但我不明白为什么它不起作用。我遇到了黑屏publicvoidrenderToTexture(){GLES20.glBindFramebuffer(GLES20.GL_FRAMEBUFFER,fb[0]);GLES20.glClearColor(1.0f,1.0f,1.0f,1.0f);GLES20.glClear(GLES20.GL_DEPTH_BUFFER_BIT|GLES20.GL_COLOR_BUFFER_BIT);//speci

android - 在 Android Canvas 或 OpenGL 上更快地绘制位图

我目前有一个使用AndroidCanvas编写的游戏。它是完全2D的,我在Canvas上将位图绘制为Sprite,技术上可行,但我需要添加一些功能,需要在屏幕上绘制更多位图,并且会有更多移动.应用程序需要更多功能。从这种在Canvas上绘制位图的方法到使用OpenGL以便我可以更快地绘制它们的最佳方法是什么? 最佳答案 有几个平台正在制作2dopengl游戏:http://www.rokonandroid.com/http://www.andengine.org/不幸的是,它们都没有像iPhone同类产品(cocos2d-iphon

java - Picture.writeToStream() 没有写出所有位图

我正在使用webview.capturePicture()创建一个包含网页所有绘图对象的图片对象。我可以使用canvas.drawPicture(picture,dst)成功地将此Picture对象渲染为位图,没有任何问题。但是,当我使用picture.writeToStream(fos)将图片对象序列化到文件中,然后Picture.createFromStream(fis)读回数据并创建一个新的图片对象,如上渲染时生成的位图缺少任何较大的图像(任何超过20KB的图像)!通过观察)。这发生在我测试过的所有Android操作系统平台1.5、1.6和2.1上。查看Skia的native代码

android - Osmdroid:如何从我自己的位图(图 block )创建和加载 map ?

我开始使用Osmdroid,我想使用这项技术来显示关于F1赛道的map。我有一张大图,我可以将它裁剪成更小的图block。我可以修改osmdroid库来上传这些图片吗?我想将这些位图(图block)保存在我的Assets文件夹中。我完全不知道如何做到这一点。我之所以使用这种方式,是因为当我尝试显示这张完整的全尺寸图片时,android通常会出现内存错误。如果我只显示图像的一些图block(取决于缩放比例),也许我的应用会运行得更好?提前致谢! 最佳答案 Osmdroid使用一个系统,其中世界地图被划分为瓦片。图block通常具有相同

android - 如何在 Android 开发中使用 JNI 将位图从 Java 传递到 C++?

我想使用用于Android开发的JNI将位图从Android传递到C++。在Java中,我调用此函数将位图从Java发送到C++:publicnativeintsendMyBitmap(Bitmapbitmap);在JNI中,我是这样做的:JNIEXPORTvoidJNICALLsendMyBitmap(JNIEnv*env,jobjectobj,jobjectbitmap){AndroidBitmapInfoandroidBitmapInfo;void*pixels;AndroidBitmap_getInfo(env,bitmap,&androidBitmapInfo);Androi