小编WIl*_*JBD的帖子

malloc编译错误:类型为"int"的值不能用于初始化int(*)类型的实体[30]

我现在必须尝试过20种方法.我真的需要帮助,无论我做什么,我都会收到与此类似的错误.

a value of type "int" cannot be used to initialize an entity of type "int (*)[30]"
Run Code Online (Sandbox Code Playgroud)

即这会让我这样一个错误

int(*array)[160] = malloc((sizeof *array) * 10);
Run Code Online (Sandbox Code Playgroud)

并做这样的事情

int** Make2DintArray(int arraySizeX, int arraySizeY) {
    int** theArray;
    theArray = (int**) malloc(arraySizeX*sizeof(int*));
    int i;
    for (i = 0; i < arraySizeX; i++)
    {
        theArray[i] = (int*) malloc(arraySizeY*sizeof(int));
    }
    return theArray;
}
Run Code Online (Sandbox Code Playgroud)

会得到我的

"void *(size_t)" in "memory.c" at line 239 and: "int()" 
Run Code Online (Sandbox Code Playgroud)

有没有人有一个解决方案如何成功分配int [160] [10]的2dArray

c malloc pointers

13
推荐指数
3
解决办法
5万
查看次数

galaxy s4和所有高清手机?内存不足错误膨胀布局

所以这个我正在开发的应用程序,在一款非常古怪的Android 2.3.3手机上运行得很好.但是当在GS4上运行它时,GS4每次必须从drawables加载资源时都会抛出内存异常,这是在xml中预定义的.

<ImageView
        android:id="@+id/ivLearnMore"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_weight="1"
        android:scaleType="fitCenter"
        android:src="@drawable/learn_more" />
Run Code Online (Sandbox Code Playgroud)

例如,这个Imageview会在给布局膨胀时抛出异常,因为它已经分配了一个图像.(256×256)

到底是怎么回事?

05-08 10:33:54.972: E/dalvikvm-heap(24423): Out of memory on a 16777232-byte allocation.
05-08 10:33:54.972: I/dalvikvm(24423): "main" prio=5 tid=1 RUNNABLE
05-08 10:33:54.972: I/dalvikvm(24423):   | group="main" sCount=0 dsCount=0 obj=0x41187b38 self=0x40dd1b68
05-08 10:33:54.972: I/dalvikvm(24423):   | sysTid=24423 nice=0 sched=0/0 cgrp=apps handle=1074533852
05-08 10:33:54.972: I/dalvikvm(24423):   | state=R schedstat=( 0 0 0 ) utm=147 stm=1265 core=0
05-08 10:33:54.972: I/dalvikvm(24423):   at android.graphics.BitmapFactory.nativeDecodeAsset(Native Method)
05-08 10:33:54.972: I/dalvikvm(24423):   at android.graphics.BitmapFactory.decodeStream(BitmapFactory.java:596)
05-08 10:33:54.972: I/dalvikvm(24423):   at android.graphics.BitmapFactory.decodeResourceStream(BitmapFactory.java:444)
05-08 10:33:54.972: I/dalvikvm(24423):   at …
Run Code Online (Sandbox Code Playgroud)

layout android out-of-memory imageview

8
推荐指数
3
解决办法
8431
查看次数

春季长期投票

我们有一个独特的案例,我们需要与外部API接口,这需要我们长时间轮询他们的端点以获得他们所谓的实时事件.

问题是我们可能有多达80,000人/设备在任何给定时间点击此端点,监听事件,每个设备/人1个连接.

当客户端从我们的Spring服务发出请求以对事件进行长轮询时,我们的服务随后会对外部API进行异步调用以对事件进行长轮询.外部API已定义最小长轮询超时可设置为180秒.

所以在这里我们遇到一个带队列的线程池不能工作的情况,因为如果我们有一个类似于(5分钟,10个最大值,10个队列)的线程池,那么10个线程可能会成为焦点,并且队列中的10个将无法获得机会,直到当前10个中的一个完成.

我们需要服务它或者失败它(我们将把负载平衡器等放在它后面),但是我们不希望在没有实际轮询的情况下让客户端挂起.

我们一直在研究如何使用DeferredResult,并从控制器返回.

一些调整的东西

@RequestMapping(value = "test/deferredResult", method = RequestMethod.GET)
    DeferredResult<ResponseEntity> testDeferredResult() {
        final DeferredResult<ResponseEntity> deferredResult = new DeferredResult<ResponseEntity>();
        CompletableFuture.supplyAsync(() -> testService.test()).whenCompleteAsync((result, throwable) -> deferredResult.setResult(result));
        return deferredResult;
    }
Run Code Online (Sandbox Code Playgroud)

我在质疑我是否在正确的道路上,并且我是否应该为该CompletableFuture.supplyAsync()方法提供执行者和执行者(和配置)以最好地完成我们的任务.

我已经阅读了各种文章,帖子等,我想知道是否有人知道可能有助于我们的具体情况.

java spring

8
推荐指数
1
解决办法
4013
查看次数

适配器上的notifydataSetChanged将使用新项目进行更新,但不会更新现有项目

我找不到与我的确切问题有关的具体内容,请继续阅读以了解这是什么.

我非常谨慎地确保在我的代码中的所有地方,我设置正确的只是在适配器上调用notifyDataSetChanged,我初始化itemList一次,并将其传递给适配器,并且不要重新初始化它.

它就像一个魅力,列表视图将自行更新,但仅适用于新项目.

对于现有项目,ListView将无法正确更新.

例如,如果我有一个列表视图显示一些自定义项目,我需要更新它,我这样做

public void updateList(List<item> newItems)
{
    if (adapter == null)
    {
        itemList.addAll(newItems);
        adapter = new SomeAdapter(layoutInflator, itemList);
        listView.setAdapter(adapter);
    } else
    {
        // lets find all the duplicates and do all the updating
        List<item> nonDuplicateItems = new ArrayList<item>();
        for (Item newItem : newItems)
        {
            boolean isDuplicate = false;
            for (Item oldItem : itemList)
            {
                // are these the same item?
                if (newItem.id == oldItem.id)
                {
                    isDuplicate = true;
                    // update the item
                    olditem.text1 = newItem.text1;
                    oldItem.text2 = …
Run Code Online (Sandbox Code Playgroud)

java android

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

摩托罗拉TC55拒绝出现在adb中

我不能让摩托罗拉TC55出现在adb中(使用Mac OSX),他们的支持线也没那么有用.

我已经尝试将供应商添加到.ini文件中,我尝试过打开/关闭usb调试和开发选项.

我试过杀死并重新启动adb.我试过重启笔记本电脑和TC55.我试过3根电缆.

我在使用设备存储选项时没有尝试过.

它说USB connected,USB debugging connectedconnected as installer在通知菜单中.

我尝试安装适用于Mac的Motorola Device Manager,它似乎什么都不做.

我走到了尽头.除了通过电子邮件发送自己的测试版本,我该怎么办?

android adb

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

为什么这种转换不会失败?

正在测试演员表,列表等的行为,遇到了我不太清楚的东西。将列表转换为不同类型的列表时,不会引发异常,也不会在使用安全转换时导致空值。为什么是这样?

data class Rectangle(val width: Int, val height: Int)
data class Circle(val radius: Int)

fun main(args: Array<String>) {
    val listOfRects: List<Rectangle> = listOf(Rectangle(5,5))

    val listOfUnkown: List<Any?> = listOfRects

    val listOfWrongType: List<Circle> = listOfUnkown as List<Circle>
    // also works, thought should throw null
    // val listOfWrongType: List<Circle>? = listOfUnkown as? List<Circle>

    print(listOfWrongType)
}
Run Code Online (Sandbox Code Playgroud)

输出量

Test.kt:9:44: warning: unchecked cast: List<Any?> to List<Circle>
    val listA: List<Circle> = listOfUnkown as List<Circle>
                                           ^
[Rectangle(width=5, height=5)]
Run Code Online (Sandbox Code Playgroud)

当我将它们设置为健全性检查时,我还尝试对列表进行深拷贝。

kotlin

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

使用Android Paint类中的PorterDuffXfermode更改位图上的变亮/变暗强度

好的,我的原始问题已经改变了.我如何改变这样的事情的强度?

    DayToNight.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
Run Code Online (Sandbox Code Playgroud)

在我梦想的世界里它会像这样工作

    DayToNight.setXfermode(new PorterDuffXfermode(Mode.DST_IN(10)));
Run Code Online (Sandbox Code Playgroud)

10是一个强度水平.


一个例子是,如果我有一个闪烁的蜡烛,当蜡烛燃烧明亮时,我想要我绘制到屏幕上的位图以保持其原始颜色和亮度,当它闪烁时,我希望位图几乎变黑,我想要当灯光变暗时使位图变暗.

我有方程式,计时器和所有想出来的,而不是如何实际应用它来改变颜色/亮度.也许燃烧图像是我正在寻找的?我只是想改变轻盈哈哈.

我觉得使用paint.setShader可能是一个解决方案,但这方面的信息非常有限,我能够找到.任何帮助,将不胜感激.

编辑:要清楚,我正在寻找一种方法来缩小/缩小位图,因为我将它们绘制到画布上

java graphics shader android paint

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

传递大型物体的最快方法

以下面的功能为例

string print()
{
   return (some string that has been formed);
};
Run Code Online (Sandbox Code Playgroud)

现在让我们说这个打印函数将形成一个可笑的大字符串,需要返回到从另一个类调用它的函数.

现在说这个打印功能可能会被调用数千次.有没有正确和快速的方法来做到这一点?

在Visual Studio中,您可以执行此操作

void print(string& lines)
{
   lines = (some string that has been formed);
};
Run Code Online (Sandbox Code Playgroud)

但是g ++不会编译它,也不应该这样做,因为这可能是一个临时对象,可能在任何时候消失.所以根据我的理解,我可以做到这一点

void print(const string& lines)
{
};
Run Code Online (Sandbox Code Playgroud)

如果我想要的只是在这个字符串中检索一些东西,而不是修改它并快速完成.但我确实想修改它.所以我不能这样做.

这引出了我的问题是声明一个指向对象的新指针将成为最快的方法吗?还是慢一点?或者它是不值得的.即(不确定这是否会起作用?)

void print(string* lines)
{
   string formedString; // the string that has been formed
   lines = formedString&;
};
Run Code Online (Sandbox Code Playgroud)

最后,如果我在运行时加载对象,并通过以下方式将它们添加到树中:

void add(const ItemType& item)
{
   someNode->item = item;
};
Run Code Online (Sandbox Code Playgroud)

item最初的函数调用该范围的临时存储的对象add(),因此将其分配到节点导致调用函数的栈呆在身边不再那么想?或者这样可以吗?我以后能够编辑item,还是现在被卡住了?

只是学习头脑的问题:)

c++ optimization performance pointers reference

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

android地图在恢复片段后停止响应

下面列出的是我控制地图的基本代码.我稍后会做一些非常高级的东西.一切似乎都很完美,直到onResume().

这是布局,您可以在1个单独的活动中浏览应用程序,并使用多个片段.它mapFragment包含在片段内.这很好用.但是当我添加另一个片段并在后面的堆栈上推送它时,当我稍后再回到它时,地图没有响应.

我想通过我的电话转移到固定该setupMaps();onResume(),但是这引起了gMaps为空时,我得到它gMaps = mapFragment.getMap();setViews().

我该怎么处理?

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        root = inflater.inflate(R.layout.fragment_maps, container, false);

        setupMaps();
        return root;
    }

    private void setupMaps()
    {
        gMaps = null;
        fm = getActivity().getSupportFragmentManager();

        mapFragment = SupportMapFragment.newInstance();
        android.support.v4.app.FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
        transaction.add(R.id.flMapContainer, mapFragment).commit();

    }


    @Override
    public void onResume()
    {
        super.onResume();

        mapFragment.onResume();
        setViews();
    }

    private void setViews()
    {
        gMaps = mapFragment.getMap();
        getData(); // initializes overlays, markers, …
Run Code Online (Sandbox Code Playgroud)

android google-maps fragment

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

当1除以2或4时,为什么浮点数返回0?

这是我用来飞过我的精灵表的方法.在对象类中,我跟踪信息并进行所有循环,这基本上只需要分配纹理映射坐标.只是它似乎没有工作.但我记录了我翻转行/列的方式,它正确循环.但就纹理而言,我什么都看不到.一点都不 我错过了什么吗?

    public void SetToAnimatedTexture(int NumFramesWide, int NumFramesTall, int CurrentRow, int CurrentColumn) {
    /***************************************************************************************** 
     * This Assembles our Vertices in the correct spots by disassembling
     * our custom rectangles corners, and adds animation. Call this after creating the meshRect
     * *****************************************************************************************/

    float frameWidth = 1/NumFramesWide;
    float frameHeight = 1/NumFramesTall;

    float u1 = frameWidth*CurrentColumn;
    float u2 = (frameWidth*CurrentColumn) + frameWidth;
    float u3 = (frameWidth*CurrentColumn) + frameWidth;
    float u4  = frameWidth*CurrentColumn;

    float v1 = (frameHeight*CurrentRow) + frameHeight;
    float v2 = (frameHeight*CurrentRow) + …
Run Code Online (Sandbox Code Playgroud)

java android opengl-es

0
推荐指数
1
解决办法
1344
查看次数

枚举当前设置的值

这应该是完全明显的,但事实并非如此.有没有办法获得枚举的值,如下例所示?

例:

    public enum Numbers
    {
        zero, one, two

    }

//later on
Numbers numbers = Numbers.zero;
// this is the part that I can not figure out the java equivalent of?
int number = numbers.value();
Run Code Online (Sandbox Code Playgroud)

这是否有意义我想做什么?

java enums

0
推荐指数
1
解决办法
106
查看次数