小编jfi*_*isk的帖子

处理大位图和android活动生命周期的内存不足错误

我有一个可滚动的地图应用程序,现在有一个巨大的位图.它在启动时加载正常,但是当它失去前台状态并且用户再次将其恢复时我得到内存不足错误.在onPause中,它使用recycle来破坏位图,并将其标记为null.onResume检查map == null是否会再次加载位图,尽管我回收了位图,但这会使程序崩溃...这里有一些代码.所有对Bitmap map的其他引用首先在加载/绘制之前检查它是否为null.

在onPause

protected void onPause() {
super.onPause();
Log.e("sys","onPause was called");
if (map != null)
{
        map.recycle();
        map = null;
        System.gc();
        Log.e("sys","trashed the map");
}
}
Run Code Online (Sandbox Code Playgroud)

我的onResume

protected void onResume(){
super.onResume();
Log.e("sys","onResume was called");

if (map == null)
        map = BitmapFactory.decodeResource(getResources(),
                        R.drawable.lowresbusmap);
Log.e("sys","redrew the map");
}
Run Code Online (Sandbox Code Playgroud)

android memory-management bitmap

5
推荐指数
1
解决办法
1852
查看次数

在正方形上映射纹理:为什么图像会旋转?

我成功地将图像映射到OpenGL ES中的正方形上...但是它旋转了90度.我是OpenGL ES的新手,并且想知道是否有人可以指出为什么它的旋转.谢谢!

package se.jayway.opengl.tutorial;

import java.io.IOException;
import java.io.InputStream;
import java.nio.ByteBuffer;
import java.nio.ByteOrder;
import java.nio.FloatBuffer;
import java.nio.ShortBuffer;

import javax.microedition.khronos.opengles.GL10;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.opengl.GLUtils;

public class Square {
// Our vertices.
private float vertices[] = {
        -1.0f, -1.0f, 0.0f, //Vertex 0
        1.0f, -1.0f, 0.0f,  //v1
        -1.0f, 1.0f, 0.0f,  //v2
        1.0f, 1.0f, 0.0f,   //v3
    };

//Our texture.
private float texture[] = {
        //Mapping coordinates for the vertices
        0.0f, 0.0f,
        0.0f, 1.0f,
        1.0f, 0.0f,
        1.0f, 1.0f, 
};

// The …
Run Code Online (Sandbox Code Playgroud)

iphone android textures opengl-es texture-mapping

5
推荐指数
1
解决办法
2351
查看次数

从相机拍摄的android图片非常小

我试图从相机捕获图像,压缩它,然后将其存储到SD卡.如果我使用下面的代码直接将其保存到SD卡,我会得到完整的图像.但是,如果我尝试在系统中加载图像,我会得到一个超小的图像大小,如320 x 240而不是完整的5 mp图像.

        Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
    intent.putExtra(MediaStore.EXTRA_OUTPUT, getImageUri());
    startActivityForResult(intent, CAMERA_PIC_REQUEST);  
Run Code Online (Sandbox Code Playgroud)

getImageURI()的位置

    private Uri getImageUri() {
    // Store image in dcim
    file = new File(Environment.getExternalStorageDirectory() + "/DCIM","itshelp.jpg");
    imgUri = Uri.fromFile(file);
    file.deleteOnExit();
       Log.e("syS","file is at "+imgUri);
    return imgUri;
}
Run Code Online (Sandbox Code Playgroud)

现在,当我尝试将其保存到内部存储器时,我使用以下代码来获取微小的图像:

    public void imageFromCamera() { //code to retrieve image
    Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
    startActivityForResult(intent, CAMERA_PIC_REQUEST);  
    }
Run Code Online (Sandbox Code Playgroud)

在我的startActivitForResult中我有以下内容:

    @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {  
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == CAMERA_PIC_REQUEST && resultCode == RESULT_OK) { …
Run Code Online (Sandbox Code Playgroud)

android android-camera android-camera-intent

5
推荐指数
1
解决办法
4106
查看次数

这些箭头操作符在上下文无关语法中是什么?

我正在研究无上下文语法,我很好奇带有星形的箭头和没有星形的箭头在f和g部分中的含义:

  • f是假的.
  • g是真的.

在此输入图像描述

context-free-grammar computation-theory

5
推荐指数
1
解决办法
2924
查看次数

什么是画布的 iOS 等价物?

将我的 OGLES 应用程序从 Android 移植到 iOS,并动态制作图像以绑定为纹理,如下所示:

        Bitmap overlayBitmap = Bitmap.createBitmap(512,512, Bitmap.Config.ARGB_4444);
        // get a canvas to paint over the bitmap
        Canvas canvas = new Canvas(overlayBitmap);
        overlayBitmap.eraseColor(0);
        // Draw the text
        TextPaint textPaint = new TextPaint();
        textPaint.setTextSize(30);
        textPaint.setAntiAlias(true);
        textPaint.setARGB(0xff, 0x00, 0x00, 0x00);
        textPaint.setTypeface(Typeface.DEFAULT_BOLD);
        textPaint.measureText(stopName);

        // get a background image from resources
        // note the image format must match the bitmap format
        cap.setBounds(0,0,8,49);
        cap.draw(canvas);
        overlayBackground.setBounds(8,0, (int) textPaint.measureText(stopName)+8, 49);
        overlayBackground.draw(canvas); // draw the background to our bitmap
        Rect overlayBounds=overlayBackground.getBounds();
        spike.setBounds((((overlayBounds.right+8)/2)-((21/2))),48,(((overlayBounds.right+8)/2)+((21/2))),69);
        spike.draw(canvas);
        capR.setBounds(overlayBounds.right,0,overlayBounds.right+8,49);     
        capR.draw(canvas); …
Run Code Online (Sandbox Code Playgroud)

android interface-builder ios ios5

5
推荐指数
1
解决办法
2392
查看次数

创建后更改注释图像

我有一个自定义注释,使用viewForAnnotation委托方法基于注释的类型设置其图像.我只使用1个注释代表汽车移动,并希望在检测到汽车移动和停止时更改图像.除了删除我的注释并重新添加它以引起眨眼之外,我怎么能这样做呢?

mkmapview ios ios5

5
推荐指数
1
解决办法
3439
查看次数

Xcode Bots在成功/失败时不发送电子邮件

我设置了Xcode Bots,它正在成功运行.但是,尽管设置电子邮件地址以在构建成功或失败时收到通知,但我不会收到任何电子邮件.是否有任何其他SMTP设置我需要隐藏在某处?

xcode ios7 xcode5 xcode-bots

5
推荐指数
1
解决办法
2287
查看次数

如何设置Apple Watch应用程序的显示名称

我似乎找不到在哪里设置我的苹果手表应用程序的产品名称.我确实看到了产品名称选项,但更新它没有做任何事情.也没有在文档中看到任何内容

apple-watch

5
推荐指数
2
解决办法
2450
查看次数

在scenekit中的透明地板/飞机上显示阴影

试图找出如何在一个看不见的平面上渲染阴影,所以我的背景sceneView显示出来.

THREE.js有一个ShadowMaterial确实如此 - 只渲染阴影.

目前的想法是制作一个看起来很简单的定制金属着色器,但我不确定如何去除地板以显示除阴影之外的所有内容.

以下是影子捕手的示例:https://knowledge.autodesk.com/search-result/caas/sfdcarticles/sfdcarticles/Maya-2015-Shadow-Catching-with-Use-Background-material.html

opengl-es-2.0 scenekit metal

5
推荐指数
1
解决办法
501
查看次数

如何利用Diffie-hellman在中间攻击中执行一个人

我正在做一个项目,其中Alice和Bob使用Diffie-Hellman密钥交换发送彼此的消息.抛弃我的循环是如何合并他们正在使用的证书,这样我就可以获得他们的秘密消息.

根据我对MIM attakcs的理解,MIM可以作为冒名顶替者,如图所示:

在此输入图像描述

以下是我的项目的详细信息.我知道他们在沟通之前都有g和p达成一致意见,但我怎么能用他们都有证书验证他们的签名来实现呢?

Alice准备⟨signA(NA,Bob),pkA,certA⟩,其中signA是Alice使用的数字签名算法,"Bob"是Bob的名字,pkA是Alice的公钥,等于根据X编码的gx mod p. 509表示固定g,p表示在Diffie-Hellman密钥交换中,certA是Alice的证书,包含验证签名的Alice公钥.最后,NA是一个8字节长的随机数(随机字符串).

Bob检查Alice的签名,并使用⟨signB{NA,NB,Alice},pkB,certB⟩进行响应.Alice根据Diffie-Hellman密钥交换获取她检查其nonce NA并根据pkA,pkB计算联合密钥的消息.然后Alice将消息⟨signA{NA,NB,Bob},EK(MA),certA⟩提交给Bob并且Bobrespondswith⟨SignB{NA,NB,Alice},EK(MB),certB⟩.

其中MA和MB是相应的秘密消息.

man-in-the-middle diffie-hellman

4
推荐指数
1
解决办法
9753
查看次数