委托的作用:1)它允许把方法作为参数,传递给其它的模块:2)它允许我们同时调用多个具有相同签名的方法:3)它允许我们异步调用任何方法. “方法签名”指方法的参数个数.参数类型以及返回值等,具有相同签名的两个方法参数列表一致,返回值一致(名称可以不一样). 强引用的优点是程序中只要有强引用的存在,就一定能够访问到堆中的对象实例. 理论上来说,任何一个方法,通过委托包装后,都可以实现异步调用. public IAsyncResult BeginInvoke(int arg1,string arg2,…
后几章的习题 1.异步调用开始后,什么时候才能使用异步执行的结果? A:最好在EndInvoke()方法返回之后才能使用异步执行的结果,其它时候不能保证异步调用已完成. 2.委托的异步调用开始后(即调用BeginInvoke方法后),EndInvoke方法是否可以在同一线程中调用? A:可以.EndInvoke()方法既可以在同一线程中调用,也可以在其它线程中调用,EndInvoke()方法会阻塞调用线程,直到异步调用执行结束. 3.异步调用时,AsyncCallback委托在什么线程中调用?…
1.简述.NET中CTS.CLS以及CLR的含义与作用. A:CTS指公共类型系统,是.NET平台中各种语言必须遵守的类型规范:CLS指公共语言规范,是.NET平台中各种语言必须遵守的语言规范:CLR指公共语言运行时,它是一个虚拟机,.NET平台中所有的托管代码均需要运行在CLR中,你可以把它看成另外一个操作系统. 2.简述.NET程序集(exe文件.dll文件)不能在无CLR环境的操作系统中运行的原因? A:.NET程序集并不是最终可以运行在操作系统中的机器指令,它只是介于源代码和机器指令之间…
CLR 公共语言运行库 没有CLR的存在,就不能讲该中间件转换成对应操作系统中的机器指令. 程序集是非完全编译的产物,它兼备了源代码和本地代码的特性,是一种介于源代码和本地代码之间的独立存在的一种数据结构,它同时具有可读性和可执行性. 程序集组成:IL.元数据.清单.资源等. 程序集特征:语言独立.二级制兼容.重用性.部署方便. .NET程序集并不是最终可以运行在操作系统中的机器指令,它只是介于源代码和机器指令之间的一个中间件,没有CLR的存在,就不能将该中间件转换成对应操作系统中的机器指令.…
索引 新书介绍 新书封面 新书目录 试读章节 原稿试读 网购地址 规格参数 反馈方式 一些感谢 附加说明 1.新书介绍 从2013年年底到2014年9月,历时将近10个月,这本书终于看到了“出版发行”的曙光.书中内容是笔者对自己这些年工作经验的一些总结与整理,书中每段话.每个观点阐述均是经过笔者思考再三才被写进去的,笔者希望能将自己的这些经验传授给技术后辈,希望他们未来在技术的探索道路上,能够少走弯路.有关本书的详细信息请参见本文后面的[新书目录].[试读章节]以及[原稿试读]. 就我个人而言,…
接上篇<android开发艺术探索>读书笔记(一) No1: 在android中使用多进程只有一种方法,那就是给四大组件在AndroidMenifest中指定android:process属性. No2: 默认进程的进程名是包名. No3: ":"要加上当前包名,进程属于当前应用的私有进程,其他应用的组件不可以和它跑在同一个进程中:另外一种属于全局进程,其他应用通过ShareUID方式可以和它跑在同一个进程中. No4: Android系统会为每个应用分配一个唯一的UID,…
第13章 综合技术 13.1 使用CrashHandler来获取应用的Crash信息 (1)应用发生Crash在所难免,但是如何采集crash信息以供后续开发处理这类问题呢?利用Thread类的setDefaultUncaughtExceptionHandler方法!defaultUncaughtHandler是Thread类的静态成员变量,所以如果我们将自定义的UncaughtExceptionHandler设置给Thread的话,那么当前进程内的所有线程都能使用这个UncaughtExcep…
delphi 精要-读书笔记(内存分配释放)     1.内存分为三个区域:全局变量区,栈区,堆区 全局变量区:专门存放全局变量 栈区:分配在栈上的变量可被栈管理器自动释放 堆区:堆上的变量内存必须人工去释放 2.指针类变量 指针类的变量在声明为全局变量时被初始化为空值,在声明为局部变量时则初始化为一个随机数,对于指针类型一般要使用一些代码来完成内存分配 3.动态分配内存的函数和过程 procedure GetMem(Var P: Pointer; Size: Integer); 分配大小为Si…
接上篇<android开发艺术探索>读书笔记(十四)--JNI和NDK编程 No1: 如果<include>制定了这个id属性,同时被包含的布局文件的根元素也制定了id属性,那么以<include>指定的id属性为准 No2: 绘制优化 1)onDraw中不要创建新的局部对象 2)onDraw方法中不要做耗时的任务 No3: 内存泄露优化 场景一:静态变量导致的内存泄露: 如果静态变量持有了一个Activity,会导致Activity无法及时释放. 解决办法:1使用Ap…
接上篇<android开发艺术探索>读书笔记(十三)--综合技术 No1: Java JNI--Java Native Interface(java本地接口),它是为了方便java调用C.C++等本地代码锁封装的一层接口. No2: NDK是Android所提供的一个工具集合,通过NDK可以在Android中更加方便的通过JNI来访问本地代码,比如C或者C++. NDK还提供了交叉编译器,开发人员只需要简单的修改mk文件就可以生成特定CPU平台的动态库. No3: 使用NDK有如下好处: 1)…