找回密码
 注册
搜索
查看: 889|回复: 6

[讨论] 为一个号码设置了来电影片,可是打入却黑屏。高手给点思路。

[复制链接]
发表于 2007-12-19 19:46:31 | 显示全部楼层 |阅读模式
在文件管理器为一个号码设置了来电影片。可是,当该号码打入电话的时候,不但不播放来电影片。反而黑屏。过了几秒钟才重新回到待机界面。是什么原因?能给点思路吗?
发表于 2007-12-19 19:51:29 | 显示全部楼层
注意一下是否发生的复位,我遇到过这种情况,是复位导致的。
点评回复

使用道具 举报

 楼主| 发表于 2007-12-19 19:59:39 | 显示全部楼层
是由于内存不够造成的么?
点评回复

使用道具 举报

发表于 2007-12-19 20:17:50 | 显示全部楼层
是一个关于nvram读取的assert导致的复位。
点评回复

使用道具 举报

发表于 2007-12-19 23:11:12 | 显示全部楼层
看一下重启的trace
点评回复

使用道具 举报

 楼主| 发表于 2007-12-20 16:45:05 | 显示全部楼层
static U8 *gdi_layer_allocate_buffer(gdi_color_format cf,S32 width,S32 height,S32 *ret_size)
{
  S32 i;
  U8 *next_available_ptr;
  U8 *tmp_ptr;
  S32  size;
  
  size = gdi_sizeof_pixels(cf,width,height);

  // allcoate buffer from pool, align buffer_size to 4 byte alignment
  size += 3;
  size &=~3;

  next_available_ptr = (U8*)gdi_layer_buffer_pool; /* point to start of the pool */

  /* iterate all layer, find last allocated position */
  for(i = 0 ; i < GDI_LAYER_TOTAL_LAYER_COUNT; i++)
  {
   U32 x = GDI_LAYER_GET_FLAG(&GDI_LAYERS,GDI_LAYER_FLAG_USED|GDI_LAYER_FLAG_USE_OUTSIDE_MEMORY);
   if( x == GDI_LAYER_FLAG_USED) // used & !outside memory
   {
    tmp_ptr = GDI_LAYERS.buf_ptr + GDI_LAYERS.layer_size;
    if(tmp_ptr > next_available_ptr) next_available_ptr = tmp_ptr;
   
    if(GDI_LAYER_GET_FLAG(&(GDI_LAYERS),GDI_LAYER_FLAG_DOUBLE_LAYER))
    {
     tmp_ptr = GDI_LAYERS.buf_ptr1 + GDI_LAYERS.layer_size;
     if(tmp_ptr > next_available_ptr) next_available_ptr = tmp_ptr;
    }
   }
  }
  if(next_available_ptr + size - 1 > gdi_layer_buf_pool_end_ptr)  /* out of valid buffer pool region */
  {
   /* no more buffer */
/////////////现在追踪到这里,发现是由这个断言引起的复位。怎么改法呢。next_available_ptr 是不是有什么问题
   GDI_ASSERT(0);
   return(NULL);
  }

  *ret_size = size;
  /* if within valid region, assign buffer */
  return(next_available_ptr);
}
点评回复

使用道具 举报

发表于 2007-12-20 18:12:18 | 显示全部楼层
从表象上看是bufferpool里边没有可用内存了。
为什么没有呢?可能是你的程序那个地方出现了内存泄漏或占用了大量内存。
我建议你在mtk发布的版本上试试,如果重现,说明是MTK的问题(当然也有可能你的影片导致的),把问题提给MTK解决;
如果MTK Release没有问题,说明是你们的后续开发导致的问题。比较分析你们做了什么,通过最笨也是最有效的排除法,总能找出问题所在。
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-12-26 00:07 , Processed in 0.045880 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表