当前位置:文档之家› 内存题目(自总)

内存题目(自总)

内存题目(自总)
内存题目(自总)

3 a[3][4]哪个不能表示a[1][1]: *(&a[0][0]) *(*(a+1)+1) *(&a[1]+1)

*(&a[0][0]+4)

4 for(int i...)

for(int j...)

printf(i,j);

printf(j)

会出现什么问题

32 位机上根据下面的代码,问哪些说法是正确的?

signed char a = 0xe0;

unsigned int b = a;

unsigned char c = a;

A. a>0 && c>0 为真

B. a == c 为真

C. b 的十六进制表示是:0xffffffe0

D. 上面都不对

分析:坑爹丫,有木有!10 个人9 个这个恐怕都不敢确定!(敢肯定的要么是高手,要么就是错的!) B me 认为是错的,一个uchar 和一个schar 比较,真的就是一个字节在比较吗?C me 认为是对的,将一个schar 赋值给一个uint,要不要符号扩展呢?是绝对会还是可能会呢?细节到底是神马?O__O"…A 貌似比较确定,肯定是错的,肯定?

揭露真相:A 确实是错的,B 也是错的,C 是对的,所以D 也是错的。理由?A 错是因为,a 是负数,c 是正数,即使跟0 比较要转换到int(后面暂不区分转换和类型提升,总之就是类型变了),也是一负一正,所以 A 错。B 呢?是说一正一负不会相等,难道是因为这吗?难道不是吗?首先说 a 和 c 的二进制表示一模一样,都是0xe0,那么比较就不相等?!是的,比较的时候全部转换为int,所以呢,a 还是作为一个负数存在,c 作为一个正数存在,于是就不相等了,所以B 错。C 肿么就对了?a 是一个schar,赋值给uint 的b,前若干个字节不是补0 吗?首先schar 转换为int,然后int 转换成uint,所以最初是符号扩展,然后一个int 赋值给了uint,C correct!me 曾经要写一篇关于c的类型以及指针的blog,不过最后没有完成,不过还是可以参考一下的。

下面哪些选项能编译通过?

int i;

char a[10;

string f();

string g(string &str);

A. if(!!i){f();}

B. g(f());

C. a=a+1;

D. g("abc");

分析:再次坑爹有木有!(其实me 比较确信这道题,是坑别人的爹,O__O"…)A 绝对是正确的,C 绝对是错的,D 基本肯定是错的,那B 呢?要么error ,要嚒warning!如果是warning 但是没有error ,这算神马情况呢?B 确实不应该选,至少语义上不该选!f() 返回一个临时量,然后传给g 函数,而g 的参数是非const 引用,是不能引用临时量的!

为嘛,如果g 中修改了传进来的string,那么会是怎么一回事呢?修改了一个临时量的值?那这意义何在呢?但是如果将g 的原型修改为string g(const string&); 就是可以的,为么可以?访问(只读)临时量就是正确的?那必须的,比如u 可能想知道a+b 的结果是多少,然后输出!a+b 的结果就是一个临时量。如果说修改a+b 的结果,这是神马个逻辑?!

真相:C 错是以为 a 是一个地址常量,不可能再被赋值。D 为嘛错呢?"abc" 的类型可是const char* 呢,是个常量指针呢!(可以用来初始化string。)

int a[10]; 问下面哪些不可以表示a[1] 的地址?

A. a+sizeof(int)

B. &a[0]+1

C. (int*)&a+1

D. (int*)((char*)&a+sizeof(int))

分析:奇葩丫!(其实并不奇葩!)腾讯的题目有时候出的的确有水平丫,虽然出的太有水平了分就考不高了。me 想哭丫,想来想去还是在 A 和 B 中选错了,%>_<%,当时还特意提醒自己来着的,O__O"…c++ 中的sort 如何用来排序 a 数组呢?sort(a, a+N); 或是sort(a, a+sizeof(a)/sizeof(a[0])); 当时懵了,实际上a+1,就是a[1] 的地址呢!a 的类型是int[10],a+1 和一个int* 类型的+1 效果一样,都表示偏移1 个元素,所以A 不能表示。(选错误的!) C 能表示是因为取了首地址作为一个int* 然后+1,就是偏移一个元素,所以不选。B 肿么说呢,me 一直一位&a[0] 是一个普普通通的地址,+1 就是+1个字节,实际上是+1 个元素!D 也能表示?将a 的首地址转换为一个char* 指针,这个时候+1 是偏移一个char,也就是一个字节,实际上应该偏移sizeof(int) 个字节才能到达a[1],所以D 可以表示(不选)。不多说了。(如果是二维数组是不是会更懵呢,O__O"…)

问下面的数据都存放在哪些存储区?

int main()

{

char *p = "hello,world";

return 0;

}

A. ...

B. ...

C. 栈和常量区

D. 栈和堆

分析:"hello,world" 是常量,赶脚应该就是C 吧,应该大家感觉都一样。这里不涉及什么堆的事。

假设在一个32 位little endian 的机器上运行下面的程序,结果是多少?

#include

int main()

{

long long a = 1, b = 2, c = 3;

printf("%d %d %d\n", a, b, c);

return 0;

}

A. ...

B. ...

C. ...

D. ...

分析:貌似问题没有想的那么简单。如果说运行结果,很简单,有人是1 0 2;有人是1 2 3。涉及到little/big endian 和参数入栈的问题,me 表示现在有点无能为力,O__O"…

下面哪些函数调用必须进入内核才能完成?

A. fopen

B. exit

C. memcpy

D. strlen

分析:有些无能为力。A 是要打开文件的,貌似设计很多内核操作丫;exit 是退出进程,结束进程,应该也要深入内核。memcpy ,me 一直犹豫用户区的数据拷贝要不要通过内核。strlen me 感觉关系不大。

内存管理中的LRU 方法是用来管理神马的?

A. 虚拟内存的分配

B. 虚拟内存的释放

C. 物理内存的分配

D. 物理内存的释放

分析:貌似是用来关系物理块的,后面的填空题正好有说,O__O"…

关于DMA 的说法,哪些是错误的?

A. DMA,Direct Memory Acess 直接存储器访问,使得不同的速度的硬件设备可以直接通信,不通过CPU 干预;

B. DMA 访问的时候需要从CPU 那里夺得总线控制权,然后...

C. DMA 速度快;

D. DMA 不需要中断控制,CPU 管理不要它;

1)

signed char a=0xe0;

unsigned int b=a;

unsigned char c=a;

下面说法正确的是:

A (a>0 )&&(b>0)为真

B c==a 为真

C b的16进制为0xffffffe0

D 都不对

// 答案:C

// 整形比较小于int的会扩宽的int再比较, 而有符号数扩宽填充符号位, 无符号数填充0, 导致扩宽后两个整形的二进制不再相等, 选择C.

编程测试:

printf (”%x %x %x",a,b,c);

结果:ffffffe0 ffffffe0 e0

2)问下面的数据都存放在哪些存储区?

int main()

{

char *p = "hello,world";

return 0;

}

解析:根据C语言中的特性和定义p是一个局部变量,而C语言中局部变量存在于栈中,"hello wrold"是一个字符串字面常量,因此存储于程序的只读存储区中,p在这里其实只是

指向了"hello wrold"在只读存储区中的地址而已。

3)关于int a[10]; 问下面哪些不可以表示a[1] 的地址?(A)

A. a+sizeof(int)

B. &a[0]+1

C. (int*)&a+1

D. (int*)((char*)&a+sizeof(int))A. a+sizeof(int)

解析:

A. a+sizeof(int)

// 不正确,在32位机器上相当于指针运算a + 4

B. &a[0]+1

// 正确,数组首元素地址加1,根据指针运算就是a[1]的地址

C. (int*)&a+1

// 正确,数组地址被强制类型转换为int*,然后加1,这样和B表示的一个意思

D. (int*)((char*)&a+sizeof(int))

// 正确,数据地址先被转换为char*,然后加4,根据指针运算公式,向前移动4 * sizeof(char),之后被转换为int*,显然是a[1]的地址

4)

int main()

{

long long a=1;

long long b=2;

long long c=3;

printf("%d,%d,%d",a,b ,c);

return 0;

}

输出结果是什么?(32位环境,cpu为小端模式,所有参数用栈传递)

解答:

在32和64上面, long long都是8字节,printf("%d %d %d\n", a, b, c);会依次从a的地址开始输出3个整型数据(4B)一共是12B,调用printf时参数从右至左压栈,压栈顺序是c,b,a且地址是连续存放的,小端情况下从a开始的栈去内存内容如下:

0x 01 00 00 00 00 00 00 00

0x 02 00 00 00 00 00 00 00

0x 03 00 00 00 00 00 00 00

所以连续输出12个字节的结果就是:1 0 2

5)下面哪些说法正确?(B)

A. 数组和链表都可以随机访问

B. 数组的插入和删除可以O(1)

C. 哈希表没有办法做范围检查

D. 以上说法都不正确

解析:数组可以直接通过下标得到存储的值因此支持随机,访问链表是链式存储结构时无法支持随机访问,要访问一个指定位置的元素必须从头开始做指针移动。哈希表支持直接通过关键码得到值其实数组就是一种哈希表下标就是关键码通过下标直接得到值因此哈希表肯定需要做范围检查也有办法做范围检查的

unsigned int a= 0x1234;

unsigned char b=*(unsigned char *)&a;

在32位大端模式处理器上变量b=

// 答案:0

// unsigned int a= 0x1234; 其中int是4字节, 大端存储,补齐16进制表示为: 0x00 00 12 34 // unsigned char b=*(unsigned char *)&a; 由于大端存储, 所以上述int a变量的最低地址存储的是

// 十六进制表示中最左边的1字节, 为0x00.

8)如下关于编译链接的说法错误的是()

A)编译优化会使得编译速度变慢

B)预编译头文件可以优化程序的性能

C)静态链接会使得可执行文件偏大

D)动态链接库会使进程启动速度偏慢

9)如下关于链接的说法错误的是()

A)一个静态库中不能包含两个同名全局函数的定义

B)一个动态库中不能包含两个同名全局函数的定义

C)如果两个静态库都包含一个同名全局函数,他们不能同时被链接

D)如果两个动态库都包含一个同名全局函数,他们不能同时被链接

4.在一个cpp文件里面,定义了一个static类型的全局变量,下面一个正确的描述是:

A.只能在该cpp所在的编译模块中使用该变量

B.该变量的值是不可改变的

C.该变量不能在类的成员函数中引用

D.这种变量只能是基本类型(如int,char)不能是C++类型

Static全局变量和普通全局变量:

针对:一个工程里有多个cpp文件时

相同点:存储方式相同,都是静态存储;

不同点:作用域不同。

普通全局变量---作用域是整个源程序(含有多个源文件),在各个源文件中都有效

Static全局变量----作用域是当前源文件

5.观察下面一段代码:

class ClassA

{

public:

virtual~ ClassA(){};

virtual void FunctionA(){};

};

class ClassB

{

public:

virtual void FunctionB(){};

};

class ClassC : public ClassA,public ClassB

{

public:

};

ClassC aObject;

ClassA* pA=&aObject;

ClassB* pB=&aObject;

ClassC* pC=&aObject;

关于pA,pB,pC的取值,下面的描述中正确的是:

A.pA,pB,pC的取值相同.

B.pC=pA+pB

C.pA和pB不相同

D.pC不等于pA也不等于pB

6.参照1.5的代码,假设定义了ClassA* pA2,下面正确的代码是:

A.pA2=static_cast(pB);

B.void* pVoid=static_cast(pB);

pA2=static_cast(pVoid);

C.pA2=pB;

D.pA2=static_cast(static_cast(pB));

7.参照1.5的代码,下面那一个语句是不安全的:

A.delete pA

B.delete pB

C.delete pC

删除那个都有错误,编译是无错误,运行是有错误

1 linux下调试core的命令,察看堆栈状态命令

5 a[3][4]哪个不能表示a[1][1]: *(&a[0][0]+5) *(*(a+1)+1) *(&a[1]+1) *(&a[0][ 0]+4)

答案: *(&a[1]+1)

a是数组的首地址,a[1]就表示a[1][0]地址了,不用再取地址了。

6 fun((exp1,exp2),(exp3,exp4,exp5))有几个实参?

答案:两个。

形式参数:在声明和定义函数时,写在函数名后的括号中的参数。

实参是调用参数中的变量,行参是被调用函数中的变量。

10. *p=NULL *p=new char[100] sizeof(p)各为多少?

答案:都为4。因为都是指针类型,所占存储空间必然为4。

/////////////////////////////////百度//////////////////////////

5.下面结构体

struct s1 {

char ch, *ptr;

union {

short a, b;

unsigned int c:2, d:1;

}

struct s1 *next;

};

的大小是_____:

A.12字节

B.16字节

C.20字节

D. 24字节

9.使用malloc系统调用分配的内存是在____ 上分配的?

A 栈;

B bss;

C 物理内存;

D 堆

1.(5分)下面这段代码是把中英文混合字符串(汉字用两个字节表示,特点是第一个字节的最高位为1)中的大写字母转化为小写字母,请找出其中的bug,注意各种异常情况。

for (char *piterator = szWord; *piterator != 0; piterator++)

{

if (*piterator & 0x80 != 0)

{

piterator++;

}

else if (*piterator >= 'A' && *piterator <= 'Z')

piterator += 32;

}

3. 代码

void func()

{

static int val;

}

中,变量val 的内存地址位于:

A. 已初始化数据段

B.未初始化数据段

C.堆

D.栈

6. short a[100],sizeof(a) 返回?

A. 2

B. 4

C. 100

D. 200

E. 400

8. 以下代码打印的结果是(假设运行在i386 系列计算机上):

struct st_t

{

int status;

short *pdata;

char errstr[32];

};

st_t st[16];

char *p = (char *)( st[2].errstr + 32 );

printf( "%d", ( p - (char *)(st) ) );

A. 32

B. 114

C. 120

D. 1112

不定向选择

3.以下的C程序代码片段运行后C和d的值分别是多少()

Int a =1,b =2;

Int c,d;

C =(a&b)&&a;

d =(a&&b)&a;

A.0,0

B.0,1

C.1,0

D.1,1

7. 内存的速度远远高于磁盘速度,所以为了解决这个矛盾,可以采用:

A 并行技术

B 虚存技术

C 缓冲技术

D 通道技术

3. 代码

void func()

{

static int val;

}

中,变量val 的内存地址位于:

A. 已初始化数据段

B.未初始化数据段

C.堆

D.栈

1.(5 分)重复多次fclose 一个打开过一次的FILE *fp 指针会有什么结果,并请解释。

考察点:导致文件描述符结构中指针指向的内存被重复释放,进而导致一些不可预期的异常。

3)

unsigned int a= 0x1234;

unsigned char b=*(unsigned char *)&a;

在32位大端模式处理器上变量b=

// 答案:0

// unsigned int a= 0x1234; 其中int是4字节, 大端存储,补齐16进制表示为: 0x00 00 12 34 // unsigned char b=*(unsigned char *)&a; 由于大端存储, 所以上述int a变量的最低地址存储的是

// 十六进制表示中最左边的1字节, 为0x00.

///////////////////////////////华为///////////////////////////////////////

///////////////////////////////华为///////////////////////////////////////

///////////////////////////////华为///////////////////////////////////////

2.某32位系统下, C++程序,请计算sizeof 的值(5分).

char str[] = “https://www.doczj.com/doc/991053638.html,”

char *p = str ;

int n = 10;

请计算

sizeof (str ) = ?(1)

sizeof ( p ) = ?(2)

sizeof ( n ) = ?(3)

void Foo ( char str[100]){

请计算

sizeof( str ) = ?(4)

}

void *p = malloc( 100 );

请计算

sizeof ( p ) = ?(5)

答:(1)17 (2)4 (3)4 (4)4 (5)4

13.C++中什么数据分配在栈或堆中,New分配数据是在近堆还是远堆中?

答:栈: 存放局部变量,函数调用参数,函数返回值,函数返回地址。由系统管理

堆: 程序运行时动态申请,new 和malloc申请的内存就在堆上

近堆还是远堆不是很清楚。

19 关于内存对齐的问题以及sizof()的输出

答:编译器自动对齐的原因:为了提高程序的性能,数据结构(尤其是栈)应该尽可能地在自然边界上对齐。原因在于,为了访问未对齐的内存,处理器需要作两次内存访问;然而,对齐的内存访问仅需要一次访问。

1.static有什么用途?(请至少说明两种)

1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用

2.引用与指针有什么区别?

1) 引用必须被初始化,指针不必。

2) 引用初始化以后不能被改变,指针可以改变所指的对象。

3) 不存在指向空值的引用,但是存在指向空值的指针。

4.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?

全局变量储存在静态数据库,局部变量在堆栈。

6.堆栈溢出一般是由什么原因导致的?没有回收垃圾资源。

7.什么函数不能声明为虚函数?constructor函数不能声明为虚函数。

15、如下定义,则s在内存中占多大空间?

union

{

struct

{

unsigned char aa:4;

unsigned char ab:4;

} a;

unsigned char c;

unsigned char d;

} s;

A) 1 byte B) 2byte C) 3byte D) 4byte

A

16、如下定义:

union tagAAAA

{

struct

{

char ucFirst;

short usSecond;

char ucThird;

}half_a;

long lI;

}number;

在按1字节对齐情况下,sizeof(union tagAAAA)的大小是: A

在按4字节对齐情况下,sizeof(union tagAAAA)的大小是: D

A) 4byte B) 6byte C) 8byte D) 12byte

17、0x12345678在采用BigEndian中内存的排列顺序是 A ,在采用LittleEndian内存中的排列顺序是 C 。

(答案从左到右内存地址依次增加)

A) 12 34 56 78 B) 34 12 78 56 C) 78 56 34 12 D) 56 78

12 34

18、关于静态变量,下面说法“不正确”的有: A

A) 静态变量在堆栈中分配

B) 静态变量的作用域一定是局部的,例如在一个文件内或一个函数内

C) 静态变量可分为静态局变量和静态全局部变量

D) 静态变量存在于数据段中

20、设有如下定义:int (*ptr)();则以下叙述中正确的是: C

A) ptr 是指向一维数组的指针变量

B) ptr是指向int型数据的指针变量

C) ptr 是指向函数的指针,该函数返回一个int型数据

D) ptr是一个函数名,该函数的返回值是指向int型数据的指针

21、在Windows95环境下,定义数组:int **a[2][4];则数组a所占用的内存单元为: D

A)8字节B) 32字节C) 64字节D)不确定

. 关键字static的作用是什么?

这个简单的问题很少有人能回答完全。在C语言中,关键字static有三个明显的作用:

1)在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。

2) 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数访问,但不能被模块外其它函数访问。它是一个本地的全局变量。

3) 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块的本地范围内使用。

大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人

能懂得第三部分。这是一个应试者的严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。

Const

7.关键字const有什么含意?

我只要一听到被面试者说:"const意味着常数",我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着"只读"就可以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。(如果你想知道更详细的答案,仔细读一下Saks的文章吧。)

如果应试者能正确回答这个问题,我将问他一个附加的问题:

下面的声明都是什么意思?

const int a;

int const a;

const int *a;

int * const a;

int const * a const;

/******/

前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提一句,也许你可能会问,即使不用关键字const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:

1) 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。(当然,懂得用const 的程序员很少会留下的垃圾让别人来清理的。)

2) 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。

3) 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。

1、局部变量能否和全局变量重名?

答:能,局部会屏蔽全局。要用全局变量,需要使用"::"

局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

2、如何引用一个已经定义过的全局变量?

答:extern

可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

答:可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。

4、队列和栈有什么区别?

队列先进先出,栈后进先出

2.Heap与stack的差别。

Heap是堆,stack是栈。

Stack的空间由操作系统自动分配/释放,Heap上的空间手动分配/释放。

Stack空间有限,Heap是很大的自由存储区

C中的malloc函数分配的内存空间即在堆上,C++中对应的是new操作符。

程序在编译期对变量和函数分配内存都在栈上进行,且程序运行过程中函数调用时参数的传递也在栈上进行

什么是预编译

何时需要预编译:

1、总是使用不经常改动的大型代码体。

2、程序由多个模块组成,所有模块都使用一组标准的包含文件和相同的编译选项。在这种情况下,可以将所有包含文件预编译为一个预编译头。

char * const p;

char const * p

const char *p

上述三个有什么区别?

char * const p; //常量指针,p的值不可以修改

char const * p;//指向常量的指针,指向的常量值不可以改

const char *p;//和char const *p

char str1[] = "abc";

char str2[] = "abc";

const char str3[] = "abc";

const char str4[] = "abc";

const char *str5 = "abc";

const char *str6 = "abc";

char *str7 = "abc";

char *str8 = "abc";

cout << ( str1 == str2 ) << endl;

cout << ( str3 == str4 ) << endl;

cout << ( str5 == str6 ) << endl;

cout << ( str7 == str8 ) << endl;

结果是:0 0 1 1

解答:str1,str2,str3,str4是数组变量,它们有各自的内存空间;

而str5,str6,str7,str8是指针,它们指向相同的常量区域。

12. 以下代码中的两个sizeof用法有问题吗?[C易]

void UpperCase( char str[] ) // 将str 中的小写字母转换成大写字母

{

for( size_t i=0; i

if( 'a'<=str[i] && str[i]<='z' )

str[i] -= ('a'-'A' );

}

char str[] = "aBcDe";

cout << "str字符长度为: " << sizeof(str)/sizeof(str[0]) << endl;

UpperCase( str );

cout << str << endl;

答:函数内的sizeof有问题。根据语法,sizeof如用于数组,只能测出静态数组的大小,无法检测动态分配的或外部数组大小。函数外的str是一个静态定义的数组,因此其大小为6,函数内的str实际只是一个指向字符串的指针,没有任何额外的与数组相关的信息,因此sizeof作用于上只将其当指针看,一个指针为4个字节,因此返回4。

一个32位的机器,该机器的指针是多少位

指针是多少位只要看地址总线的位数就行了。80386以后的机子都是32的数据总线。所以指针的位数就是4个字节了。

main()

{

int a[5]={1,2,3,4,5};

int *ptr=(int *)(&a+1);

printf("%d,%d",*(a+1),*(ptr-1));

}

输出:2,5

*(a+1)就是a[1],*(ptr-1)就是a[4],执行结果是2,5

&a+1不是首地址+1,系统会认为加一个a数组的偏移,是偏移了一个数组的大小(本例是5个int)

int *ptr=(int *)(&a+1);

则ptr实际是&(a[5]),也就是a+5

原因如下:

&a是数组指针,其类型为int (*)[5];

而指针加1要根据指针类型加上一定的值,

不同类型的指针+1之后增加的大小不同

a是长度为5的int数组指针,所以要加5*sizeof(int)

所以ptr实际是a[5]

但是prt与(&a+1)类型是不一样的(这点很重要)

所以prt-1只会减去sizeof(int*)

a,&a的地址是一样的,但意思不一样,a是数组首地址,也就是a[0]的地址,&a 是对象(数组)首地址,a+1是数组下一元素的地址,即a[1],&a+1是下一个对象的地址,即a[5].

1.请问以下代码有什么问题:

int main()

{

char a;

char *str=&a;

strcpy(str,"hello");

printf(str);

return 0;

}

没有为str分配内存空间,将会发生异常

问题出在将一个字符串复制进一个字符变量指针所指地址。虽然可以正确输出结果,但因为越界进行内在读写而导致程序崩溃。

char* s="AAA";

printf("%s",s);

s[0]='B';

printf("%s",s);

有什么错?

"AAA"是字符串常量。s是指针,指向这个字符串常量,所以声明s的时候就有问题。

cosnt char* s="AAA";

然后又因为是常量,所以对是s[0]的赋值操作是不合法的。

1.有以下表达式:

int a=248; b=4;int const c=21;const int *d=&a;

int *const e=&b;int const *f const =&a;

请问下列表达式哪些会被编译器禁止?为什么?

*c=32;d=&b;*d=43;e=34;e=&a;f=0x321f;

*c 这是个什么东东,禁止

*d 说了是const,禁止

e = &a 说了是const 禁止

const *f const =&a; 禁止

2.交换两个变量的值,不使用第三个变量。即a=3,b=5,交换之后a=5,b=3;

有两种解法, 一种用算术算法, 一种用^(异或)

a = a + b;

b = a - b;

a = a - b;

or

a = a^b;// 只能对int,char..

b = a^b;

a = a^b;

or

a ^=

b ^= a;

3.c和c++中的struct有什么不同?

c和c++中struct的主要区别是c中的struct不可以含有成员函数,而c++中的struct 可以。c++中struct和class的主要区别在于默认的存取权限不同,struct默认为public,而class默认为private

4.#i nclude

#i nclude

void getmemory(char *p)

{

p=(char *) malloc(100);

strcpy(p,"hello world");

}

int main( )

{

char *str=NULL;

getmemory(str);

printf("%s/n",str);

free(str);

return 0;

}

程序崩溃,getmemory中的malloc 不能返回动态内存,free()对str操作很危险

5.char szstr[10];

strcpy(szstr,"0123456789");

产生什么结果?为什么?

长度不一样,会造成非法的OS

8.类的静态成员和非静态成员有何区别?

类的静态成员每个类只有一个,非静态成员每个对象一个

9.纯虚函数如何定义?使用时应注意什么?

virtual void f()=0;

是接口,子类必须要实现

1:(void *)ptr 和(*(void**))ptr的结果是否相同?其中ptr为同一个指针

.(void *)ptr 和(*(void**))ptr值是相同的

2:int main()

{

int x=3;

printf("%d",x);

return 1;

}

问函数既然不会被其它函数调用,为什么要返回1?

mian中,c标准认为0表示成功,非0表示错误。具体的值是某中具体出错信息1,要对绝对地址0x100000赋值,我们可以用

(unsigned int*)0x100000 = 1234;

那么要是想让程序跳转到绝对地址是0x100000去执行,应该怎么做?

*((void (*)( ))0x100000 ) ( );

首先要将0x100000强制转换成函数指针,即:

(void (*)())0x100000

然后再调用它:

*((void (*)())0x100000)();

用typedef可以看得更直观些:

typedef void(*)() voidFuncPtr;

*((voidFuncPtr)0x100000)();

unsigned short A = 10;

printf("~A = %u\n", ~A);

char c=128;

printf("c=%d\n",c);

输出多少?并分析过程

第一题,~A =0xfffffff5,int值为-11,但输出的是uint。所以输出4294967285 第二题,c=0x10,输出的是int,最高位为1,是负数,所以它的值就是0x00的补码就是128,所以输出-128。

这两道题都是在考察二进制向int或uint转换时的最高位处理。

分析下面的程序:

void GetMemory(char **p,int num)

{

*p=(char *)malloc(num);

}

int main()

{

char *str=NULL;

GetMemory(&str,100);

strcpy(str,"hello");

free(str);

if(str!=NULL)

{

strcpy(str,"world");

}

printf("\n str is %s",str);

getchar();

}

问输出结果是什么?希望大家能说说原因,先谢谢了

输出str is world。

free 只是释放的str指向的内存空间,它本身的值还是存在的.

所以free之后,有一个好的习惯就是将str=NULL.

此时str指向空间的内存已被回收,如果输出语句之前还存在分配空间的操作的话,这段存储空间是可能被重新分配给其他变量的,

尽管这段程序确实是存在大大的问题(上面各位已经说得很清楚了),但是通常会打印出world来。

这是因为,进程中的内存管理一般不是由操作系统完成的,而是由库函数自己完成的。

当你malloc一块内存的时候,管理库向操作系统申请一块空间(可能会比你申请的大一些),然后在这块空间中记录一些管理信息(一般是在你申请的内存前面一点),并将可用内存的地址返回。但是释放内存的时候,管理库通常都不会将内存还给操作系统,因此你是可以继续访问这块地址的,只不过。。。。。。。。楼上都说过了,最好别这么干。

char a[10],strlen(a)为什么等于15?运行的结果

#i nclude "stdio.h"

#i nclude "string.h"

void main()

{

char aa[10];

printf("%d",strlen(aa));

}

sizeof()和初不初始化,没有关系;

strlen()和初始化有关。

char (*str)[20];/*str是一个数组指针,即指向数组的指针.*/

char *str[20];/*str是一个指针数组,其元素为指针型数据.*/

long a=0x801010;

a+5=?

0x801010用二进制表示为:“1000 0000 0001 0000 0001 0000”,十进制的值为8392720,再加上5就是8392725罗

1)给定结构struct A

{

char t:4;

char k:4;

unsigned short i:8;

unsigned long m;

};问sizeof(A) = ?

给定结构struct A

{

char t:4; 4位

char k:4; 4位

unsigned short i:8; 8位

unsigned long m; // 偏移2字节保证4字节对齐

}; // 共8字节

2)下面的函数实现在一个数上加一个数,有什么错误?请改正。

int add_n ( int n )

{

static int i = 100;

i += n;

return i;

}

当你第二次调用时得不到正确的结果,难道你写个函数就是为了调用一次?问题就出在static上?

2.简答题,c和c++如何动态分配和释放内存,以及他们的区别。

2、Windows下的内存是如何管理的?

Windows提供了3种方法来进行内存管理:虚拟内存,最适合用来管理大型对象或者结构数组;内存映射文件,最适合用来管理大型数据流(通常来自文件)以及在单个计算机上运行多个进程之间共享数据;内存堆栈,最适合用来管理大量的小对象。

Windows操纵内存可以分两个层面:物理内存和虚拟内存。

其中物理内存由系统管理,不允许应用程序直接访问,应用程序可见的只有一个2G地址空间,而内存分配是通过堆进行的。对于每个进程都有自己的默认堆,当一个堆创建后,就通过虚拟内存操作保留了相应大小的地址块(不占有实际的内存,系统消耗很小)。当在堆上分配一块内存时,系统在堆的地址表里找到一个空闲块(如果找不到,且堆创建属性是可扩充的,则扩充堆大小),为这个空闲块所包含的所有内存页提交物理对象(在物理内存上或硬盘的交换文件上),这时就可以访问这部分地址。提交时,系统将对所有进程的内存统一调配,

手机有内存但是一直提示不足怎么办

手机有内存但是一直提示不足怎么办 在生活中我们的手机明明有内存,但是一直提示不足,这该怎么办呢?下面就由小编来给你们说说手机有内存但是一直提示不足的解决方法吧,希望可以帮到你们哦! 手机有内存但是一直提示不足的解决方法: 安卓手机功能繁多,但是使用时间长了,会发现自己的安卓手机内存变小了,大家有没有遇到自己的安卓手机内存不足等类似的提示呢?众所周知,安卓手机的内存容量都是有限的,这样就导致了一个相对来说很棘手的问题——安卓手机内存不足。 虽然现在安卓2.2以上的操作系统均支持Apps2SD功能,但这个问题依然会困扰着我们的用户,相应的安卓手机内存清理方法就诞生了,那么安卓手机怎么清理被过多占用的内存空间呢?好了,现在小编就来告诉你安卓手机内存清理的一些小秘诀,让你的安卓手机内存容量释放更多! 1、将系统的apk程序的缓存文件都清理掉,进入手机的设置选项,选择“设置”—“应用程序”—“管理应用

程序”,点击MENU键,选择“按大小排序”(安卓2.2系统要先选择好已下载标签),这样系统安装的应用程序就按程序大小排列起来了,然后选择其中一款程序,点击“清除缓存”即可。 注意,像Google Maps、Market、浏览器和相册等应用程序的缓存文件可能积累到好几兆,因此保持清理系统程序的缓存文件是相当必要的。 2、HTC手机如果不打算使用Sense UI界面了,请清理掉HTC Sense的数据文件,这样得到的系统内存空间还是可观的。 3、建议卸载掉那些你很少使用的应用程序,这样也有利于很多安卓手机内存空间清理。 4、当然你还可以下载一些自动清除缓存文件的软件,这些软件在一定程度帮助缓解安卓手机内存不足的问题。 5、将所有可以移动的应用程序移动到手机的SD卡上,现在安卓2.2以上的系统都可以支持安装应用程序到SD卡的,当然前提你已经拥有ROOT权限了。 6、打开RE管理器,找到/data/local/目录,里面有rights

手机内存一直提示不足该怎么清理

手机内存一直提示不足该怎么清理 手机内存一直提示不足的清理方法一: 清理大型应用程序的缓存数据 通过清理程序的缓存文件,释放的内存空间会让你喜出望外 进入手机设置选项,选择设置>应用程序 >管理应用程序 按一下menu键,选择“按大小排序”选项(如果是android 2.2手机先要选择已下载标签),然后就可以按照应用程序大小排列所有手机安装的应用程序 点击一款列表中的应用程序,如果程序有缓存文件可以显示大小,直接点击“清除缓存”选项就可以释放这些缓存文件占据的空间 有一些应用程序的缓存文件可能多达数mb,比如google maps,market,浏览器和相册程序,清理这几个程序的缓存文件就可以释放相当可观的空间。 很多手机厂商都在旗下手机预装了自己开发的ui程序,比如htc sense,motoblur等,如果你打算使用launherpro或者adw 这样的launcher程序替代htc sense,你可以清理甚至删除htc sense的数据文件,这个操作可以让你的手机多出几十mb空间。 另外android market还提供一些自动清除缓存文件的应用程序,比如quick app clean cache这款收费软件。对于已经取得root权限的手机用户,可以从market下载 cachecleaner,

cachemate和movecache这些程序来快速方便的清除程序缓存文件。 删除那些你从来不用或者很少使用的应用程序 这是很多用户都会面对的问题,默默忍受着手机内存不足的报警,甚至牺牲系统性能,就是舍不得删除那些从来不用或者极少使用的应用程序,这可能也是一种强迫症。删除这些程序你会发现手机从此海阔天空,而且你没有任何损失。 移动所以可以移动的应用程序数据到sd卡 运行android 2.2系统的手机支持安装应用程序到sd卡,确保检查所有你安装的应用程序如果支持apps to sd卡功能一定要移动到sd卡,对于一些大型软件特别是游戏程序节省的容量相当可观。不过一定要注意widgets程序,捆绑widgets的程序,以及动态壁纸程序和那些需要在后台运行并且和系统进行交互的应用程序不要移动到sd卡存储,否则程序可能无法正常工作。 如果觉得每个程序单独设置太麻烦,可以借助apps 2 sd和sdmove这样的程序简化操作过程。对于那些动手能力比较强的用户可以通过网上的教程设置应用程序默认安装到sd卡,这样就可以一劳永逸。 手机内存一直提示不足的清理方法二: 1、终止后台不常用软件运行程序 很多人,通常只是在界面关闭软件。对于安卓机来说,这些程序可能还在后台运行,比如优酷等视频网站,如果后台同时开好几个,所占的运行内存ram可想而知有多少,这时候需要关闭后台运行这些软件,释放ram内存空间。可以下载应用管家,一

安卓手机内存不够使用怎么办

安卓手机内存不够使用怎么办 安卓手机内存不够使用的解决方法: 使用手机管家: ?一键优化:用户使用一键优化功能,启动系统自动优化; ?手动清理:对于需要用户干预的应用进程和大文件清理,提供用户手动清理; 二、删除那些你从来不用或者很少使用的应用程序: 这是很多用户都会面对的问题,默默忍受着手机内存不足的报警,甚至牺牲系统性能,就是舍不得删除那些从来不用或者极少使用的应用程序,这可能也是一种强迫症。删除这些程序你会发现手机从此海阔天空,而且你没有任何损失。 舍不得删掉的程序,我们也可以减少在后台中运行的程序数量,也是可以提高一些速度的,同样的以华为手机管家的操作为例: ?进程管理 ?显示当前占用内存应用的数量和列表,能够全选或者单选进行清除。 ?对于常用的应用如果不希望被一键清除,可以添加到受保护名单中 ?空间清理 ?显示手机和sd卡空间总量和剩余。

?对应用缓存、系统垃圾文件、应用残留、无效安装包、缩略图缓存和临时文件自动清理。 ?对安装包、大文件和不常用应用手工清理。 三、移动所以可以移动的应用程序数据到sd卡: 运行android2.2系统的手机支持安装应用程序到sd卡,确保检查所有你安装的应用程序如果支持apps to sd卡功能一定要移动到sd卡,对于一些大型软件特别是游戏程序节省的容量相当可观。不过一定要注意widgets程序,捆绑widgets的程序,以及动态壁纸程序和那些需要在后台运行并且和系统进行交互的应用程序不要移动到sd卡存储,否则程序可能无法正常工作。 附加手机储存空间不足的分析: 由于手机不像电脑,可以任意的添加内存,它在出厂的时候其内部存储就是固定了的。而由于安卓系统在最初面市时手机存储空间只是几mb十多mb的年代,并未考虑到长远的今天几十gb 空间的情况。这和dos系统出来时根本没想到会有上百mb内存、几gb内存的情况一样,到了32位的xp系统的年代,也只能识别与利用最多3.5gb内存,而这是其自身构架桎梏的缺陷。 android (安卓)系统运用ram的方式跟windows完全是两回事,在android 里ram被用满了是件'好'事,它意味着你可以快速打开之前打开的软件,回到之前的状态,所以安卓能非常有效的使用ram,很多用户看到他们的ram满了,认为这样会拖慢了他们的手机。而实际上,是你的cpu——真正支持软件运行的硬件的性能决定了手机运行的快慢速度。在android 里的进程和程序是两回事,程序是一直保留在系统里的,但是没有任何进程在后台

手机经常出现内存不足怎么办

手机经常出现内存不足怎么办 手机经常出现内存不足的解决方法一: 1,如果手机自带内存不够用,其实可以给手机增加一个sd卡,不要认为手机自带了4g、8g的内存就永远用不完了,其实不然哦! 2,加好内存卡后,我们重启一下手机,这样内存卡才能正常的读取,然后安装软件的时候,我们需要注意一下,会有一个安装软件至sd卡,勾选好之后再去安装 3,另外呢,如果是已经安装的软件,我们可以通过软件搬家来解决,先打开腾讯手机管家——清理加速——手机瘦身 4,打开空间管理功能后,会发现最下面有一项就是【软件搬移】,你可以先对空间进行一个扫描检测,然后根据检测结果,把软件搬移到内存卡就行了 手机经常出现内存不足的解决方法二: 红米手机自带了不少系统自带的应用,很多应用我们使用不到,或者说我们习惯用更好的软件来代替它自带的软件,比如红米手机自带的音乐播放器,我们可以用更加好用的酷狗音乐,百度音乐等等代替。所以,我们点击打开系统应用卸载 勾选一些我们不怎么需要使用的自带软件,比如音乐播放器,比如应用商店,比如游戏等等,只要你认为用不到的,或者可以找到更加好用的软件代替它的,都可以将其卸载,卸载之后能为我们节省出非常大的一部分空间

同理,也不是所以的应用都要卸载,都卸载的话估计你的手机也用不了了。因为很多软件都是系统必须的,所以要慎重选择,建议大家卸载一些音乐播放器呀,应用商店呀,这些不怎么重要的系统自带软件就好。 由于红米手机内存比较小,所以大家也不要下载内存太大的一些软件,比如美图秀秀,美拍等,因为非常占内存而且并不是经常需要用到,当我们发现红米手机运行内存不足时,我们要为手机减压,卸载一些不常用的软件 这种方法我不是很赞成,因为假如你按照我上面的方法做了,基本红米手机的内存也已经够用了。当然你想要追求更加大的内存也可以刷机,刷机很好,能够为我们省出更多的空间,而且还能将软件装到内存卡中,但是刷机容易出问题,所以不建议大家使用这种方法。

常见内存故障解析大全

常见内存故障解析大全 导读:我根据大家的需要整理了一份关于《常见内存故障解析大全》的内容,具体内容:内存出现问题一部分是因为升级内存,但由于内存种类的不匹配,往往会遇到一些麻烦,具体出现的内存问题我为你一一支招。1、无法正常开机支招:遇到这类现象主要有三个解决的途径:... 内存出现问题一部分是因为升级内存,但由于内存种类的不匹配,往往会遇到一些麻烦,具体出现的内存问题我为你一一支招。 1、无法正常开机 支招:遇到这类现象主要有三个解决的途径:第一,更换内存的位置,这是最为简单也是最为常用的一种方法,一般是把低速的老内存插在靠前的位置上。第二,在基本能开机的前提下,进入BIOS设置,将与内存有关的设置项依照低速内存的规格设置。比如:使用其中的一根内存(如果是[url="]DDR[/url]333和DDR400的内存混合使用,最好使用DDR333的内存),将计算机启动,进入BIOS设置,将内存的工作频率及反应时间调慢,以老内存可以稳定运行为准,方可关机插入第二根内存。 2、计算机运行不稳定 支招:遇到这类问题的出现主要是内存兼容性造成的,解决的基本思路是与上面大体相同。第一,更换内存的位置。第二,在BIOS中关闭内存由SPD自动配置的选项,改为手动配置。第三,如果主板带有I/O电压调节功能,可将电压适当调高,加强内存的稳定性。 3、混插后内存容量识别不正确

支招:造成这种现象的原因,第一种可能是主板芯片组自身的原因所造成的,一些老主板只支持256MB内存的容量(i815系列只支持512MB),超出的部分,均不能识别和使用。当然还有一些情况是由于主板无法支持高位内存颗粒造成的,解决这类问题的惟一方法就是更换主板或者内存。另外在一些情况下通过调整内存的插入顺序也可以解决此问题。 内存混插不稳定的问题是一个老问题了。面对这种情况,笔者建议您在选购内存条时,要选择象金士顿、金泰克这些高品质内存,因为它们的电气兼容性及稳定性都比较出色,出现问题的几率要低一些,并且售后也都有保障。 另一部分是因为内存在使用过程中,金手指与主板的插槽接触不良引起或者是中了病毒等原因引起的问题,具体出现的内存问题及支招如下。在 4、电脑无法正常启动,打开电脑主机电源后机箱报警喇叭出现长时间的短声鸣叫,或是打开主机电源后电脑可以启动但无法正常进入操作系统,屏幕出现"Error:Unable to ControlA20 Line"的错误信息后并死机。支招:出现上面故障多数是由于内存于主板的插槽接触不良引起。处理方法是打开机箱后拔出内存,用酒精和干净的纸巾对擦试内存的金手指和内存插槽,并检查内存插槽是否有损坏的迹象,擦试检查结束后将内存重新插入,一般情况下问题都可以解决,如果还是无法开机则将内存拔出插入另外一条内存插槽中测试,如果此时问题仍存在,则说明内存已经损坏,此时只能更换新的内存条。 5、开机后显示如下信息:"ON BOARD PARLTY ERROR"。 支招:出面这类现象可能的原因有三种,第一,CMOS中奇偶较验被设为

内存条的种类

内存条的种类 老的内存有FPM、EDO、SDRM,后来的有DDR、DDR2、DDR3、RDRAM 目前能见到的内存有:SDR、DDR、DDR2 ,DDR3三类。比如说DDR 800后面所带的数字表示内存的频率,数字越高速度越快。 内存的价格非常不稳定,没办法讨论其性价比。 性能从低到高分别是:SDR DDR DDR2 DDR3 外观: SDR一般有两个缺口 DDR1的缺口比较靠外 DDR2的缺口比较靠中间 DDR2代和DDR3代的槽是一样的 其中DDR与DDR2的区别很不明显,DDR是184线接口,DDR2是240线接口,金手指比DDR的要密看标识,上面写的很清,下面用图片来直观的说一下其中的区别吧 延迟问题

在同等核心频率下,DDR2的实际工作频率是DDR的两倍。这得益于DDR2内存拥有两倍于标准DDR内存的4BIT预读取能力。换句话说,虽然DDR2和DDR一样,都采用了在时钟的上升延和下降延同时进行数据传输的基本方式,但DDR2拥有两倍于DDR的预读取系统命令数据的能力。也就是说,在同样100MHz的工作频率下,DDR的实际频率为200MHz,而DDR2则可以达到400MHz。 这样也就出现了另一个问题:在同等工作频率的DDR和DDR2内存中,后者的内存延时要慢于前者。举例来说,DDR 200和DDR2-400具有相同的延迟,而后者具有高一倍的带宽。实际上,DDR2-400和DDR 400具有相同的带宽,它们都是3.2GB/s,但是DDR400的核心工作频率是200MHz,而DDR2-400的核心工作频率是100MHz,也就是说DDR2-400的延迟要高于DDR400。 封装和发热量: DDR2内存技术最大的突破点其实不在于用户们所认为的两倍于DDR的传输能力,而是在采用更低发热量、更低功耗的情况下,DDR2可以获得更快的频率提升,突破标准DDR的400MHZ限制。 DDR内存通常采用TSOP芯片封装形式,这种封装形式可以很好的工作在200MHz上,当频率更高时,它过长的管脚就会产生很高的阻抗和寄生电容,这会影响它的稳定性和频率提升的难度。这也就是DDR的核心频率很难突破275MHZ的原因。而DDR2内存均采用FBGA封装形式。不同于目前广泛应用的TSOP封装形式,FBGA封装提供了更好的电气性能与散热性,为DDR2内存的稳定工作与未来频率的发展提供了良好的保障。 DDR2内存采用1.8V电压,相对于DDR标准的2.5V,降低了不少,从而提供了明显的更小的功耗与更小的发热量,这一点的变化是意义重大的。 DDR2采用的新技术: 除了以上所说的区别外,DDR2还引入了三项新的技术,它们是OCD、ODT和Post CAS。 OCD(Off-Chip Driver):也就是所谓的离线驱动调整,DDR II通过OCD可以提高信号的完整性。DDR II通过调整上拉(pull-up)/下拉(pull-down)的电阻值使两者电压相等。使用OCD通过减少DQ-DQS的倾斜来提高信号的完整性;通过控制电压来提高信号品质。 ODT:ODT是内建核心的终结电阻器。我们知道使用DDR SDRAM的主板上面为了防止数据线终端反射信号需要大量的终结电阻。它大大增加了主板的制造成本。实际上,不同的内存模组对终结电路的要求是不一样的,终结电阻的大小决定了数据线的信号比和反射率,终结电阻小则数据线信号反射低但是信噪比也较低;终结电阻高,则数据线的信噪比高,但是信号反射也会增加。因此主板上的终结电阻并不能非常好的匹配内存模组,还会在一定程度上影响信号品质。DDR2可以根据自已的特点内建合适的终结电阻,这样可以保证最佳的信号波形。使用DDR2不但可以降低主板成本,还得到了最佳的信号品质,这是DDR不能比拟的。

手机运行内存总是不足怎么办

手机运行内存总是不足怎么办 在有些时候我们的手机运行内存总是不足了,这该怎么办呢?那么下面就由小编来给你们说说手机运行内存总是不足的解决方法吧,希望可以帮到你们哦! 手机运行内存总是不足的解决方法(1): 这是由于应用运行过程中会产生大量缓存数据,长期堆积占用内存空间,因此即使下载的软件文件等并不多,还是会提示内存不足。 清理方法如下: 1. 进入手机设置选项,选择设置—应用程序—管理应用程序; 2. 按一下Menu键,选择“按大小排序”选项(如果是Android 2.2手机先要选择已下载标签),然后就可以按照应用程序大小排列所有手机安装的应用程序;

3. 随便点击列表中的应用程序,如果程序有缓存文件可以显示缓存大小,直接点击“清除缓存”选项就可以释放这些缓存文件占据的空间,如果没有缓存的话,清除缓存的按钮是无法点击的,这说明不用清理; 4. 有一些系统的应用程序缓存文件可能多达数MB,比如Google Maps(谷歌地图),Market(电子市场),浏览器和相册程序,清理这几个程序的缓存文件就可以释放不少可用空间。 5. 移动所有可以移动的应用程序数据到SD卡; 6. 如果觉得每个程序单独设置太麻烦,可以借助Apps 2 SD和SDMove这样的程序简化操作过程。对于那些动手能力比较强的用户可以通过网上的教程设置应用程序默认安装到SD卡,这样就可以一劳永逸。 手机运行内存总是不足的解决方法(2): 1、终止后台不常用软件运行程序 很多人,通常只是在界面关闭软件。对于安卓机来说,这些程序可能还在后台运行,比如优酷等视频网站,如果后台同时开好几

内存故障表现

一、开机无显示 由于内存条原因出现此类故障是比较普遍的现象,一般是因为内存条与主板内存插槽接触不良造成(在排 除内存本身故障的前提下),只要用橡皮擦来回擦试其金手指部位即可解决问题(不要用酒精等清洗), 还有就是内存损坏或主板内存槽有问题也会造成此类故障。由于内存条原因造成开机无显示故障,主机扬 声器一般都会长时间蜂鸣(针对Award Bios而言) 二、windows系统运行不稳定,经常产生非法错误 出现此类故障一般是由于内存芯片质量不良或软件原因引起,如若确定是内存条原因只有更换一途。 三、windows注册表经常无故损坏,提示要求用户恢复 此类故障一般都是因为内存条质量不佳引起,很难予以修复,唯有更换一途。 四、windows经常自动进入安全模式 此类故障一般是由于主板与内存条不兼容或内存条质量不佳引起,常见于PC133内存用于某些不支持PC133 内存条的主板上,可以尝试在CMOS设置内降低内存读取速度看能否解决问题,如若不行,那就只有更换内 存条了。 五、随机性死机 此类故障一般是由于采用了几种不同芯片的内存条,由于各内存条速度不同产生一个时间差从而导致死机 ,对此可以在CMOS设置内降低内存速度予以解决,否则,唯有使用同型号内存。还有一种可能就是内存条 与主板不兼容,此类现象一般少见,另外也有可能是内存条与主板接触不良引起电脑随机性死机,此类现 象倒是比较常见。 六、内存加大后系统资源反而降低 此类现象一般是由于主板与内存不兼容引起,常见于PC133内存条用于某些不支持PC133内存条的主板上, 即使系统重装也不能解决问题。 七、windows启动时,在载入高端内存文件himem.sys时系统提示某些地址有问题 此问题一般是由于内存条的某些芯片损坏造成,解决方法可参见下面内存维修一法。 八、运行某些软件时经常出现内存不足的提示

手机内存不够用怎么去清理

手机内存不够用怎么去清理 手机内存不够用的清理方法: 第一步,更改安装位置。 很多手机都已经有安装到内存卡的功能了,大部分2.2操作系统以上的都可以自己选择,如果不能选择的话,就用电脑直接安到内存卡中即可。 点击右上角的设置按钮。 第二步,更改安装目录,将程序安装到内存卡。 进入设置后,选择安装文件一栏,然后选择优先将程序安装到没存卡。 清除手机内多余的系统程序 获取root权限,获取权限的方法有很多,我们可以到各大论坛进行学习,里面教程有很多。因为不同的手机有不同的方法,不能一概而论,所以这里就不在介绍root的方法了。 附加手机内存不够用的解决方法: 定期处理手机后台程序 手机里同时运行的程序过多,就会出现手机内存“房间”过于拥挤的状况,需要注意的是有些程序退出后还是会在后台偷偷运行占用空间。小伙伴们可以借助手机管理软件定期清理缓存和后台程序,为手机“减负”。 使用相对简洁的桌面主题

很多小伙伴比较喜欢用动态很炫的桌面主题,但是要知道,这些占用空间比较多的主题都是要求放置在机身内存中的,所以使用小容量、简洁的主题也能很有效的减少内存占用。 将app转移到sd卡 把手机中的app应用安装在sd卡上,这样就不会占用手机内存的空间了,已经安装在手机内存中的可以在手机应用管理中进行移至sd卡操作。另外就是照片、视频等大文件,也要尽量储存在sd卡中。 运用re文件浏览器 动手能力比较强的小伙伴,可以下载re文件浏览器,/data/dalvik-cache这个文件夹里面的都是系统缓存文件和卸载定制程序留下来的无用垃圾,可以放心全部删除,删除后可以感觉到系统内存明显提升。 恢复出厂设置 手机每次开机都提示内存不足,不管怎么卸载应用或转移应用都问题依旧,这或许是手机被一些流氓软件毒害至深,需要大换血了。小伙伴们可以备份一下手机联系人、短信以及一些应用后,将手机恢复到出厂设置,问题就彻底解决了。

内存错误代码大全

系统内存蓝屏的错误代码大全 系统内存蓝屏的错误代码大全 0 0x00000000 作業完成。 1 0x00000001 不正确的函數。 2 0x00000002 系統找不到指定的檔案。 3 0x00000003 系統找不到指定的路徑。 4 0x00000004 系統無法開啓檔案。 5 0x00000005 拒絕存取。 6 0x00000006 無效的代碼。 7 0x00000007 儲存體控制區塊已毀。 8 0x00000008 儲存體空間不足,無法處理這個指令。 9 0x00000009 儲存體控制區塊地址無效。 10 0x0000000A 環境不正确。 11 0x0000000B 嘗試加載一個格式錯誤的程序。 12 0x0000000C 存取碼錯誤。 13 0x0000000D 資料錯誤。 14 0x0000000E 儲存體空間不夠,無法完成這項作業。 15 0x0000000F 系統找不到指定的磁盤驅動器。 16 0x00000010 無法移除目錄。 16 0x00000010 無法移除目錄。 17 0x00000011 系統無法将檔案移到其它的磁盤驅動器。 18 0x00000012 沒有任何檔案。 19 0x00000013 儲存媒體爲寫保護狀态。 20 0x00000014 系統找不到指定的裝置。 21 0x00000015 裝置尚未就緒。 22 0x00000016 裝置無法識别指令。 23 0x00000017 資料錯誤 (cyclic redundancy check) 24 0x00000018 程序發出一個長度錯誤的指令。 25 0x00000019 磁盤驅動器在磁盤找不到持定的扇區或磁道。 26 0x0000001A 指定的磁盤或磁盤無法存取。 27 0x0000001B 磁盤驅動器找不到要求的扇區。 28 0x0000001C 打印機沒有紙。 29 0x0000001D 系統無法将資料寫入指定的磁盤驅動器。 30 0x0000001E 系統無法讀取指定的裝置。 31 0x0000001F 連接到系統的某個裝置沒有作用。 32 0x00000020 The process cannot access the file because it is being used by another process. 33 0x00000021 檔案的一部份被鎖定,現在無法存取。 34 0x00000022 磁盤驅動器的磁盤不正确。請将 %2 (Volume Serial Number: %3) 插入磁盤機%1。 36 0x00000024 開啓的分享檔案數量太多。 38 0x00000026 到達檔案結尾。 39 0x00000027 磁盤已滿。 50 0x00000032 不支持這種網絡要求。 51 0x00000033 遠程計算機無法使用。

安卓系统手机内存空间不足的清理方法

安卓系统手机内存空间不足的清理方法 然后很多手机都有将app安装到内存卡的功能,所以除了必须 安装在手机内存的软件之外,可以把软件都安装到sd卡中节省手机 内存。下面是jy135收集的安卓系统手机内存空间不足的清理方法,欢迎阅读。 清理大型应用程序的缓存数据 通过清理程序的缓存文件,释放的内存空间会让你喜出望外 进入手机设置选项,选择设置>应用程序 >管理应用程序 按一下Menu键,选择“按大小排序”选项(如果是Android 2.2手机先要选择已下载标签),然后就可以按照应用程序大小排列所有 手机安装的应用程序 点击一款列表中的应用程序,如果程序有缓存文件可以显示大小,直接点击“清除缓存”选项就可以释放这些缓存文件占据的空间有一些应用程序的缓存文件可能多达数MB,比如Google Maps,Market,浏览器和相册程序,清理这几个程序的缓存文件就可以释放 相当可观的空间。 很多手机厂商都在旗下手机预装了自己开发的UI程序,比如HTC Sense,MOTOBLUR等,如果你打算使用LaunherPro或者ADW这样的launcher程序替代HTC Sense,你可以清理甚至删除HTC Sense 的数据文件,这个操作可以让你的手机多出几十MB空间。 另外Android Market还提供一些自动清除缓存文件的应用程序,比如Quick App Clean Cache这款收费软件。对于已经取得root权

限的手机用户,可以从Market下载 CacheCleaner, CacheMate和MoveCache这些程序来快速方便的清除程序缓存文件。 删除那些你从来不用或者很少使用的应用程序 这是很多用户都会面对的问题,默默忍受着手机内存不足的报警,甚至牺牲系统性能,就是舍不得删除那些从来不用或者极少使用的应用程序,这可能也是一种强迫症。删除这些程序你会发现手机从此海阔天空,而且你没有任何损失。 移动所以可以移动的应用程序数据到SD卡 运行Android 2.2系统的手机支持安装应用程序到SD卡,确保检查所有你安装的应用程序如果支持apps to SD卡功能一定要移动到SD卡,对于一些大型软件特别是游戏程序节省的容量相当可观。不过一定要注意Widgets程序,捆绑Widgets的程序,以及动态壁纸程序和那些需要在后台运行并且和系统进行交互的应用程序不要移 动到SD卡存储,否则程序可能无法正常工作。 如果觉得每个程序单独设置太麻烦,可以借助Apps 2 SD和SDMove这样的程序简化操作过程。对于那些动手能力比较强的用户可以通过网上的教程设置应用程序默认安装到SD卡,这样就可以一劳永逸。 如果我们感觉到我们的手机由于内存过多,影响到我们手机的正常使用,可以进入到手机的相关设置中,找到通用按钮点击进入。 2 进入到手机的通用界面中后,我们可以看到手机中的相关系统空间状况,点击查看相应的手机存储详情。

安卓手机经常内存不足怎么办

安卓手机经常内存不足怎么办 安卓手机经常内存不足的解决方法一: 一、删除那些你从来不用或者很少使用的应用程序 这是很多用户都会面对的问题,默默忍受着手机内存不足的报警,甚至牺牲系统性能,就是舍不得删除那些从来不用或者极少使用的应用程序,这可能也是一种强迫症。 删除这些程序你会发现手机从此海阔天空,而且你没有任何损失。 二、移动所有可以移动的应用程序数据到sd卡 android 2.2以上的系统的支持安装应用程序到sd卡,确保检查所有你安装的应用程序如果支持apps to sd卡功能一定要移动到sd卡,对于一些大型软件特别是游戏程序节省的容量相当可观。 不过一定要注意widgets程序,捆绑widgets的程序,以及动态壁纸程序和那些需要在后台运行并且和系统进行交互的应用程序不要移动到sd卡存储,否则程序可能无法正常工作。 如果觉得每个程序单独设置太麻烦,可以借助apps 2 sd和sdmove这样的程序简化。 对于那些动手能力比较强的用户可以通过网上的教程设置应用程序默认安装到sd卡,这样就可以一劳永逸。 三、清理大型应用程序的缓存数据

1、通过清理程序的缓存文件,释放的内存空间会让你喜出望外 2、进入手机设置选项,选择设置>应用程序 >管理应用程序 3、按一下menu键,选择“按大小排序”选项(如果是android 2.2手机先要选择已下载标签),然后就可以按照应用程序大小排列所有手机安装的应用程序 4、点击一款列表中的应用程序,如果程序有缓存文件可以显示大小,直接点击“清除缓存”选项就可以释放这些缓存文件占据的空间 5、有一些应用程序的缓存文件可能多达数mb,比如google maps,market,浏览器和相册程序,清理手机这几个程序的缓存文件就可以释放相当可观的空间。 6、很多手机厂商都在旗下手机预装了自己开发的ui程序,比如htc sense,motoblur等,如果你打算使用launherpro或者adw这样的launcher程序替代htc sense,你可以清理甚至删除htc sense的数据文件,这个操作可以让你的手机多出几十mb空间。 7、另外android market还提供一些自动清除缓存文件的应用程序,比如quick app clean cache这款收费软件。 8、对于已经取得root权限的手机用户,可以从market下载cachecleaner, cachemate和movecache这些程序来快速方便的清除程序缓存文件。 安卓手机经常内存不足的解决方法二: 安卓不像ios是伪后台,是一个真后台系统,有很多进程服

电脑故障维修大全

电脑故障维修大全 电脑故障之一 一、系统启动出现的问题 [系统环境:] window2000+sp4, [基本配置:] IBM品牌机,CPU2.53G,内存1G [故障描述:] 显示器点不亮,开机后进入主板画面反复重启,怀疑电源问题,更换电源无效,进入BIOS设置,发现CPU频率降到1.9G,仔细检查发现,CPU外频被人从133MHZ改为100MHZ,[解决方法:]重新将计算机外频改回133MHZ后,启动正常。总结:CPU降频也会导致电脑无法开机。 [系统环境:] WINXP [故障描述:] 正常关机后电脑重新启动显示器黑屏,重起几次都是如此,排除了显示器本身没有故障,仔细检查后发现也不是系统故障,推测应该是硬件故障。 [解决方法:] 拆开电脑主机,依次检查内存,CPU,显卡,都确认没有问题,数据线连接完好,发现主机内部很脏,突然猜想会不会是灰尘太多造成的,立刻用吹风机清洁。故障立刻解决。启动后显示器滴的一声点亮,进入系统。 总结:小心灰尘杀手! [故障描述]xp系统,开机到登陆画面黑屏,重启后故障依旧,进安全模式把显卡驱动删除后就能进入系统,但重新启动后故障又再出现,必须要到安全模式里把显卡驱动删除后才能进入系统。 [解决方法]怀疑是分辨率的问题,检查分辨率发现为85HZ,把分辨率调到75HZ,重新启动后故障解决了。 [系统环境:] windows XP SP2 +瑞星杀毒+ 瑞星防火墙 [基本配置:]AMD 2200+ ;华擎K7VT4-4X主板;双敏9518显卡128M;256M内存; [故障描述:] 开机自检后.磁盘扫描.扫描完成后从起:再自检:扫描....进不了XP [解决方法:] 故障是在从装了声卡驱动后出现的.(驱动是在网上搜到的!在华擎网站没找到)启动到安全模式下.卸载了声卡驱动后从起正常!从新装好原来的老驱动.一切正常. [系统环境:] Win2000+SP4 [故障描述:] 显示器点不亮,开机自检后显示器黑屏. [解决方法:]先是检查了显卡,内存.最后最小系统法.在拆下网卡后,启动正常.PCI插槽有问题,用打印纸轻擦拭插槽壁n次,插入网卡正常. [故障描述:]开机显示:no ide channel 20 found........ 无法进入系统 [解决方法:]以为是机子坏了,出问题了,瞎忙了半天,却原来是ide接口没接好 [故障描述]开机找不到硬盘,试了多种方法均无效,连DOS都进不去。 [解决方法] 1. 在CMOS设置中屏蔽硬盘,这时机器就可以从软盘引导。 2.用DM启动盘启动计算机,启动DM万用版,选"(A)dvanced Options(高级选项)-> (M)aintenance

智能手机内存满了怎么清理

智能手机内存满了怎么清理 智能手机内存满了的清理方法一: 清理大型应用程序的缓存数据 通过清理程序的缓存文件,释放的内存空间会让你喜出望外 进入手机设置选项,选择设置>应用程序 >管理应用程序 按一下menu键,选择“按大小排序”选项(如果是android 2.2手机先要选择已下载标签),然后就可以按照应用程序大小排列所有手机安装的应用程序 点击一款列表中的应用程序,如果程序有缓存文件可以显示大小,直接点击“清除缓存”选项就可以释放这些缓存文件占据的空间 有一些应用程序的缓存文件可能多达数mb,比如google maps,market,浏览器和相册程序,清理这几个程序的缓存文件就可以释放相当可观的空间。 很多手机厂商都在旗下手机预装了自己开发的ui程序,比如htc sense,motoblur等,如果你打算使用launherpro或者adw 这样的launcher程序替代htc sense,你可以清理甚至删除htc sense的数据文件,这个操作可以让你的手机多出几十mb空间。 另外android market还提供一些自动清除缓存文件的应用程序,比如quick app clean cache这款收费软件。对于已经取得root权限的手机用户,可以从market下载 cachecleaner,

cachemate和movecache这些程序来快速方便的清除程序缓存文件。 删除那些你从来不用或者很少使用的应用程序 这是很多用户都会面对的问题,默默忍受着手机内存不足的报警,甚至牺牲系统性能,就是舍不得删除那些从来不用或者极少使用的应用程序,这可能也是一种强迫症。删除这些程序你会发现手机从此海阔天空,而且你没有任何损失。 移动所以可以移动的应用程序数据到sd卡 运行android 2.2系统的手机支持安装应用程序到sd卡,确保检查所有你安装的应用程序如果支持apps to sd卡功能一定要移动到sd卡,对于一些大型软件特别是游戏程序节省的容量相当可观。不过一定要注意widgets程序,捆绑widgets的程序,以及动态壁纸程序和那些需要在后台运行并且和系统进行交互的应用程序不要移动到sd卡存储,否则程序可能无法正常工作。 如果觉得每个程序单独设置太麻烦,可以借助apps 2 sd和sdmove这样的程序简化操作过程。对于那些动手能力比较强的用户可以通过网上的教程设置应用程序默认安装到sd卡,这样就可以一劳永逸。 智能手机内存满了的清理方法二: 【第三方软件清理】 1,不过如果你手动禁止,有可能会误禁止了系统软件导致手机系统崩溃,所以最好的办法就是借助第三方软件直接一键限制应用自启,比如说使用腾讯手机管家——清理加速——手机加速。 2,打开这个功能后,会有一个进程管理功能和一个开机加速

安卓系统手机内存不足怎么办

安卓系统手机内存不足怎么办 安卓系统手机内存不足的解决方法一: 由于手机不像电脑,可以任意的添加内存,它在出厂的时候其内部存储就是固定了的。而由于安卓系统在最初面市时手机存储空间只是几mb十多mb的年代,并未考虑到长远的今天几十gb 空间的情况。这和dos系统出来时根本没想到会有上百mb内存、几gb内存的情况一样,到了32位的xp系统的年代,也只能识别与利用最多3.5gb内存,而这是其自身构架桎梏的缺陷。 android (安卓)系统运用ram的方式跟windows完全是两回事,在android 里ram被用满了是件'好'事,它意味着你可以快速打开之前打开的软件,回到之前的状态,所以安卓能非常有效的使用ram,很多用户看到他们的ram满了,认为这样会拖慢了他们的手机。而实际上,是你的cpu——真正支持软件运行的硬件的性能决定了手机运行的快慢速度。在android 里的进程和程序是两回事,程序是一直保留在系统里的,但是没有任何进程在后台“运行”,就不会占用系统资源。所有的程序保留在内存中,可以更快的启动回到它之前的状态。当你的内存用完了,系统会自动帮你杀掉你不用的任务。 最初安卓系统为了保证软件安全性和稳定性,默认把程序安装到内部存储里。而那时候内部存储空间配额都比较小,就算手头sd、tf卡空间再大,内部存储空间不足的话依旧安装不了软件。

其次: 定期清理手机后台程序手机里同时运行的程序过多,就会出现手机内存“房间”过于拥挤的状况,需要注意的是有些程序退出后还是会在后台偷偷运行占用空间。小伙伴们可以借助百度、360等手机管理软件定期清理缓存和后台程序,为手机“减负”。 将app应用转移到sd卡把手机中的app应用安装在sd卡上,这样就不会占用手机内存的空间了,已经安装在手机内存中的可以在手机应用管理中进行移至sd卡操作。另外就是照片、视频等大文件,也要尽量储存在sd卡中。 使用相对简洁的桌面主题很多小伙伴比较喜欢用动态很炫的桌面主题,但是要知道,这些占用空间比较多的主题都是要求放置在机身内存中的,所以使用小容量简洁的主题包也能很有效的减少内存占用。 运用re文件浏览器动手能力比较强的小伙伴,可以下载re 文件浏览器,/data/dalvik-cache 这个文件夹里面的都是系统缓存文件和卸载定制程序留下来的无用垃圾,可以放心全部删除,删除后可以感觉到系统内存明显提升。 安卓系统手机内存不足的解决方法二: 一次性到位,把所有手机存储数据都清空。 在设置--关于手机--存储--内置sd卡下找到清除手机存储中的数据,点击进入--格式化手机存储--清除全部内容,那么就会格式化手机存储(内存卡和手机sim内容不影)包括电话等。 不同于重置手机,仅仅删除手机的数据,这个过程很快完成,并且安装在sd卡上的软件的使用不受影响(但丢失数据)。

内存名称详解

内存名称详解 PC-66 这种内存使用66MHz的频率,而这也是第一代的SDR SDRAM内存。 PC-100 同样的,这种内存只是将工作频率提升到了100MHz,工作在CAS3模式下。 PC-133 这次改变还是只是将频率提升到133MHz,同样工作在CAS3模式下。 PC-150 这种内存并非官方发布的一个版本,而PC-150实际上就是一个超频版的内存。通常这种内存可以运行在150MHz频率CAS3模式或者是133MHz频率CAS2模式下,但是据说Corsair 的PC-150内存可以在150MHz 的频率下以CAS2的模式工作。 PC-166 另外一类超频内存,只是单纯的超频使得频率达到了一个新高点而已,仍然运行在CAS3之下。 PC-180 可以算作是另类的超频内存了,它简单的将频率提升到了180MHz,但是我个人认为这种内存没有实际使用的意义,因为毕竟现在DDR内存的价格已经是非常便宜了。 DDR SDRAM DDR内存按照速度分类就可以用两种方法来进行分类了。第一种就是以DDRXXX这种方式命名。后边的“XXX”就表示了这个内存是以两倍于XXX的速度运行的内存。另外一种就是以PCXXXX进行命名。后边的“XXXX”就是内存的带宽。 PC1600 此类DDR内存就是最早的一代DDR内存了。它的工作频率为200MH(由于是DDR内存,所以频率增加一倍,就是100MHz x2所以实际上这类内存是工作在200MHz的频率下的),而工作模式为CAS2.5。 DDR266/PC2100 现在最普遍见到的DDR内存,工作频率为266MHz,工作模式为CAS2.5。 PC2400 又是一个非官方版本的DDR内存。实际上就是通过对内存颗粒的筛选、改造而制造成质量上乘的超频DDR内存。这样,让它们可以在150MHz(实际使用中双倍变为300MHz)的频率下工作在CAS2的模式下。Corsair就是其中的一个厂商。 DDR333/PC2700 官方发布的一个DDR内存版本,通过将内存频率增加到166MHz DDR(实际工作中双倍变为333MHz)的CAS2.5模式,来提升系统性能。

安卓手机内存一直提示不足怎么办

安卓手机内存一直提示不足怎么办 安卓手机内存一直提示不足的解决方法一: 现在的手机都是智能手机,没有内存卡是根本不能用的,所以如果想要大一点的内存空间的,那就要买大一点内存的内存卡呀! 当然也有一些人,刚开始买内存卡的时候就没有买那么多的内存,所以东西一多便没有空间,老是提醒:手机内存不足,请删除一些程序。的确这也是一种方法,把那些不要的程序全部都删除掉,当然是后来装进去的程序。要想删除原始程序又要另一个方法了。 自己的程序不想删除,想删除原始手机带的程序,那么就要有root的权限哦。有很多的杀毒软件都有这个功能的。 如果都不想删的话,就要把手机内存改个存储方式了。一般新买的手机都是默认存在手机内存里面,而不是存在内存卡里面,所以这里就要把手机里面的内存转移到内存卡里面。而把存储设置默认为内存卡设置。 其次: 很多手机都已经有安装到内存卡的功能了,大部分2.2操作系统以上的都可以自己选择,如果不能选择的话,就用电脑直接安到内存卡中即可。 点击右上角的设置按钮。

第二步,更改安装目录,将程序安装到内存卡。 进入设置后,选择安装文件一栏,然后选择优先将程序安装到没存卡。 清除手机内多余的系统程序 获取root权限,获取权限的方法有很多,我们可以到各大论坛进行学习,里面教程有很多。因为不同的手机有不同的方法,不能一概而论,所以这里就不在介绍root的方法了。 安卓手机内存一直提示不足的解决方法二: 一、删除那些你从来不用或者很少使用的应用程序 这是很多用户都会面对的问题,默默忍受着手机内存不足的报警,甚至牺牲系统性能,就是舍不得删除那些从来不用或者极少使用的应用程序,这可能也是一种强迫症。 删除这些程序你会发现手机从此海阔天空,而且你没有任何损失。 二、移动所有可以移动的应用程序数据到sd卡 android 2.2以上的系统的支持安装应用程序到sd卡,确保检查所有你安装的应用程序如果支持apps to sd卡功能一定要移动到sd卡,对于一些大型软件特别是游戏程序节省的容量相当可观。 不过一定要注意widgets程序,捆绑widgets的程序,以及动态壁纸程序和那些需要在后台运行并且和系统进行交互的应用程序不要移动到sd卡存储,否则程序可能无法正常工作。 如果觉得每个程序单独设置太麻烦,可以借助apps 2 sd和sdmove这样的程序简化。

相关主题
文本预览
相关文档 最新文档