程序设计

专业和发烧友程序员的问答

5
Objective-C中的自动引用计数不会阻止或减少哪种泄漏?
在Mac和iOS平台中,内存泄漏通常是由未释放的指针引起的。传统上,检查您的分配,复制和保留以确保每个都有相应的释放消息一直是最重要的。 Xcode 4.2随附的工具链在最新版本的LLVM编译器中引入了自动引用计数(ARC),通过使编译器为您的内容进行内存管理,从而完全解决了此问题。这很酷,并且确实减少了很多不必要的,平凡的开发时间,并防止了许多粗心大意的内存泄漏,这些泄漏很容易通过适当的保留/释放平衡来解决。当为Mac和iOS应用程序启用ARC时,甚至需要对自动释放池进行不同的管理(因为您NSAutoreleasePool不再应该分配自己的s)。 但是,其他的内存泄漏它不能阻止我仍然要注意? 另外,Mac OS X和iOS上的ARC与Mac OS X上的垃圾回收之间有什么区别?


3
sass --watch自动缩小?
有没有一种运行方法: sass --watch a.scss:a.css 但是a.css最终被缩小了吗? 如何在编译样式表时避免运行单独的缩小步骤?
235 css  sass  minify 

1
启用C ++ 11时std :: vector性能回归
当启用C ++ 11时,我在一个小的C ++代码段中发现了有趣的性能下降: #include <vector> struct Item { int a; int b; }; int main() { const std::size_t num_items = 10000000; std::vector<Item> container; container.reserve(num_items); for (std::size_t i = 0; i < num_items; ++i) { container.push_back(Item()); } return 0; } 使用g ++(GCC)4.8.2 20131219(预发行版)和C ++ 03,我得到: milian:/tmp$ g++ -O3 main.cpp && …
235 c++  performance  gcc  c++11  vector 





10
以编程方式在视图上添加填充
我正在开发Android v2.2应用程序。 我有一个片段。 在onCreateView(...)我的片段类的回调中,我将一个片段膨胀到一个布局,如下所示: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View view = inflater.inflate(R.layout.login, null); return view; } 上面膨胀的布局文件是(login.xml): <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Username" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Username" /> </LinearLayout> 我想将a设置paddingTop为上述<LinearLayout>元素,我想在Java代码中进行操作,而不是在xml中进行操作。 如何设置paddingTop到<LinearLayout>我的片段Java类代码?


10
仅当sql服务器中存在外键约束时,如何删除它?
我可以使用以下代码删除表(如果存在),但不知道如何在约束条件下进行操作: IF EXISTS(SELECT 1 FROM sys.objects WHERE OBJECT_ID = OBJECT_ID(N'TableName') AND type = (N'U')) DROP TABLE TableName go 我还使用以下代码添加了约束: ALTER TABLE [dbo].[TableName] WITH CHECK ADD CONSTRAINT [FK_TableName_TableName2] FOREIGN KEY([FK_Name]) REFERENCES [dbo].[TableName2] ([ID]) go

18
注销时,清除“活动历史记录”堆栈,以防止“后退”按钮打开仅登录的活动
我的应用程序中的所有活动都需要用户登录才能查看。用户几乎可以退出任何活动。这是应用程序的要求。无论何时用户注销,我都想将用户发送到Login Activity。此时,我希望此活动位于历史记录堆栈的底部,以便按下“后退”按钮可使用户返回Android的主屏幕。 我已经看到这个问题在几个不同的地方问过,所有问题都得到了相似的答案(我在这里概述了),但是我想在这里提出来收集反馈。 我尝试通过设置其Intent标志FLAG_ACTIVITY_CLEAR_TOP似乎按照文档中所述进行操作来打开Login活动,但是并没有实现将Login活动放在历史记录堆栈底部并防止用户向后导航的目标。以前看过的登录活动。我也尝试android:launchMode="singleTop"在清单中用于Login活动,但这也没有实现我的目标(而且似乎也没有任何作用)。 我相信我需要清除历史记录堆栈,或完成所有先前打开的活动。 一种选择是让每个活动的onCreate检查都处于登录状态,finish()如果尚未登录则。我不喜欢此选项,因为后退按钮仍然可以使用,随着活动自身关闭,它可以返回。 下一个选项是维护LinkedList对所有打开的活动的引用,这些引用可以从任何地方静态访问(可能使用弱引用)。注销后,我将访问此列表并遍历所有先前打开的活动,并finish()在每个活动上进行调用。我可能很快就会开始实现此方法。 但是,我宁愿使用一些Intent标记技巧来完成此操作。我很高兴发现自己可以满足我的应用程序要求,而不必使用上面概述的两种方法中的任何一种。 有没有一种方法可以通过使用Intent或清单设置来实现,或者我的第二个选择是保持LinkedList打开的活动是最好的选择?还是我完全忽略了另一个选择?

4
什么是offsetHeight,clientHeight,scrollHeight?
想解释之间有什么区别的offsetHeight,clientHeight和scrollHeight或offsetWidth,clientWidth和scrollWidth? 在客户端上工作之前,必须先了解这一区别。否则,他们将有一半的生命将花费在修复UI上。 小提琴或下面的内联: function whatis(propType) { var mainDiv = document.getElementById("MainDIV"); if (window.sampleDiv == null) { var div = document.createElement("div"); window.sampleDiv = div; } div = window.sampleDiv; var propTypeWidth = propType.toLowerCase() + "Width"; var propTypeHeight = propType + "Height"; var computedStyle = window.getComputedStyle(mainDiv, null); var borderLeftWidth = computedStyle.getPropertyValue("border-left-width"); var borderTopWidth = …

8
如何在Ubuntu上安装OpenSSL库?
我正在尝试在使用OpenSSL 1.0.0的Ubuntu 10.04 LTS上构建一些代码。当我运行make时,它将使用“ -lssl”选项调用g ++。来源包括: #include <openssl/bio.h> #include <openssl/buffer.h> #include <openssl/des.h> #include <openssl/evp.h> #include <openssl/pem.h> #include <openssl/rsa.h> 我跑了: $ sudo apt-get install openssl Reading package lists... Done Building dependency tree Reading state information... Done openssl is already the newest version. 0 upgraded, 0 newly installed, 0 to remove and …

18
以唯一和确定性的方式将两个整数映射为一个
想象两个正整数A和B。我想将这两个整数合并为一个整数C。 不能有其他整数D和E组合成C。因此,将它们与加法运算符组合起来是行不通的。例如,30 + 10 = 40 = 40 + 0 = 39 + 1叠加都不起作用。例如,“ 31” +“ 2” = 312 =“ 3” +“ 12” 此组合运算还应该是确定性的(始终在相同的输入下产生相同的结果),并且应始终在整数的正或负侧产生整数。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.